package com.zbooksoft.gdmis.common;
|
|
import com.itextpdf.kernel.font.PdfFontFactory;
|
import com.itextpdf.kernel.pdf.PdfDocument;
|
import com.itextpdf.kernel.pdf.PdfPage;
|
import com.itextpdf.kernel.pdf.PdfReader;
|
import com.itextpdf.kernel.pdf.PdfWriter;
|
import com.itextpdf.kernel.pdf.canvas.PdfCanvas;
|
import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
|
import org.apache.poi.xwpf.usermodel.XWPFDocument;
|
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
|
import org.apache.poi.xwpf.usermodel.XWPFRun;
|
|
import java.io.FileOutputStream;
|
import java.io.IOException;
|
|
/**
|
* @Description:
|
* @Author: zhai
|
* @Date: 2025/9/29
|
**/
|
public class PdfUtil {
|
public static void addBlankPageAtBeginning(String sourcePath, String targetPath, String name) throws IOException {
|
// 读取源PDF文档
|
PdfReader reader = new PdfReader(sourcePath);
|
PdfWriter writer = new PdfWriter(targetPath);
|
PdfDocument pdfDoc = new PdfDocument(reader, writer);
|
try {
|
// 创建新的空白页并插入到第一页前
|
PdfPage newPage = pdfDoc.addNewPage(1);
|
// 在新页面上添加内容
|
PdfCanvas canvas = new PdfCanvas(newPage);
|
// 设置字体和大小,并移动到指定位置
|
canvas.beginText()
|
.setFontAndSize(PdfFontFactory.createFont("STSong-Light", "UniGB-UCS2-H"), 14)
|
.moveText(100, 700) // 调整起始Y坐标使内容更靠近页面顶部
|
.showText("资料名称:" + name)
|
.moveText(0, -20) // 每次向下移动一定距离以换行
|
.showText("接收时间:2025-11-04")
|
.moveText(0, -20)
|
.showText("移交纸质资料时请移交此版本数据")
|
.endText();
|
pdfDoc.close();
|
reader.close();
|
|
} catch (Exception e) {
|
e.printStackTrace();
|
} finally {
|
pdfDoc.close();
|
reader.close();
|
}
|
}
|
|
public static void addFirstPageToWord(String sourcePath, String outputPath) {
|
try {
|
XWPFDocument document = new XWPFDocument();
|
|
// 添加首页内容
|
addCoverPageContent(document);
|
|
// 保存文档
|
FileOutputStream out = new FileOutputStream(outputPath);
|
document.write(out);
|
out.close();
|
document.close();
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
|
private static void addCoverPageContent(XWPFDocument document) {
|
// 标题
|
XWPFParagraph title = document.createParagraph();
|
title.setAlignment(ParagraphAlignment.CENTER);
|
XWPFRun titleRun = title.createRun();
|
titleRun.setText("请打印移交此版本数据");
|
titleRun.setBold(true);
|
titleRun.setFontSize(28);
|
|
// 空行
|
document.createParagraph();
|
|
}
|
}
|