1.合同签章合同盖章
This commit is contained in:
ljw 2024-11-18 15:21:40 +08:00
parent fb56bb116a
commit 12b0c26e23
5 changed files with 11 additions and 28 deletions

View File

@ -112,7 +112,7 @@ public class SalesOrderAutoSignOp extends AbstractOperationServicePlugIn {
InputStream validatorStream = new ByteArrayInputStream(out.toByteArray()); InputStream validatorStream = new ByteArrayInputStream(out.toByteArray());
// 获取书签 // 获取书签
List<CTBookmark> bookMarks = ContactSignUtils.getFileBookMarks(validatorStream, filename); List<CTBookmark> bookMarks = ContactSignUtils.getFileBookMarks(validatorStream);
validatorSignAble(bookMarks, BOOKMARK, filename); validatorSignAble(bookMarks, BOOKMARK, filename);
File file; File file;

View File

@ -86,7 +86,7 @@ public class SalescontracValidetor extends AbstractValidator {
InputStream validatorStream = new ByteArrayInputStream(out.toByteArray()); InputStream validatorStream = new ByteArrayInputStream(out.toByteArray());
// 获取书签 // 获取书签
List<CTBookmark> bookMarks = ContactSignUtils.getFileBookMarks(validatorStream, filename); List<CTBookmark> bookMarks = ContactSignUtils.getFileBookMarks(validatorStream);
for (CTBookmark bookMark : bookMarks) { for (CTBookmark bookMark : bookMarks) {
String bookMarkName = bookMark.getName(); String bookMarkName = bookMark.getName();
if (bookMarkName.contains(BOOKMARK)) { if (bookMarkName.contains(BOOKMARK)) {

View File

@ -116,7 +116,7 @@ public class SalesOrderAutoSignOp extends AbstractOperationServicePlugIn {
InputStream validatorStream = new ByteArrayInputStream(out.toByteArray()); InputStream validatorStream = new ByteArrayInputStream(out.toByteArray());
// 获取书签 // 获取书签
List<CTBookmark> bookMarks = ContactSignUtils.getFileBookMarks(validatorStream, filename); List<CTBookmark> bookMarks = ContactSignUtils.getFileBookMarks(validatorStream);
validatorSignAble(bookMarks, BOOKMARK, filename); validatorSignAble(bookMarks, BOOKMARK, filename);
File file; File file;

View File

@ -83,7 +83,7 @@ public class SalesOrderSignatureValidetor extends AbstractValidator {
InputStream validatorStream = new ByteArrayInputStream(out.toByteArray()); InputStream validatorStream = new ByteArrayInputStream(out.toByteArray());
// 获取书签 // 获取书签
List<CTBookmark> bookMarks = ContactSignUtils.getFileBookMarks(validatorStream,filename); List<CTBookmark> bookMarks = ContactSignUtils.getFileBookMarks(validatorStream);
for (CTBookmark bookMark : bookMarks) { for (CTBookmark bookMark : bookMarks) {
String bookMarkName = bookMark.getName(); String bookMarkName = bookMark.getName();
if (bookMarkName.contains(BOOKMARK)) { if (bookMarkName.contains(BOOKMARK)) {

View File

@ -7,7 +7,6 @@ import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.message.BasicNameValuePair; import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils; import org.apache.http.util.EntityUtils;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.util.Units; import org.apache.poi.util.Units;
import org.apache.poi.xwpf.usermodel.*; import org.apache.poi.xwpf.usermodel.*;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTBookmark; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTBookmark;
@ -28,31 +27,15 @@ import java.util.*;
public class ContactSignUtils { public class ContactSignUtils {
private static final Logger logger = LoggerFactory.getLogger(ContactSignUtils.class); private static final Logger logger = LoggerFactory.getLogger(ContactSignUtils.class);
//<?php
// echo readfile('.doc') public static List<CTBookmark> getFileBookMarks(InputStream in) {
// ?>
public static List<CTBookmark> getFileBookMarks(InputStream in, String filename) {
List<CTBookmark> list = new ArrayList<>(); List<CTBookmark> list = new ArrayList<>();
int lastIndexOf = filename.lastIndexOf("."); try (XWPFDocument doc = new XWPFDocument(in)) {
String extension = ""; for (XWPFParagraph paragraph : doc.getParagraphs()) {
if (lastIndexOf>0) { list.addAll(paragraph.getCTP().getBookmarkStartList());
extension = filename.substring(lastIndexOf + 1);
}
if ("docx".equals(extension)) {
try (XWPFDocument doc = new XWPFDocument(in)) {
for (XWPFParagraph paragraph : doc.getParagraphs()) {
list.addAll(paragraph.getCTP().getBookmarkStartList());
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}else if ("doc".equals(extension)){
try (POIFSFileSystem doc = new POIFSFileSystem(in)){//HWPFDocument
for (int i = 0; i < doc.getBigBlockSize(); i++) {
}
} catch (IOException e) {
throw new RuntimeException(e);
} }
} catch (IOException e) {
throw new RuntimeException(e);
} }
return list; return list;
} }