gpt4 book ai didi

java - iText:将 PDF 拆分为多个 PDF(每页 1 个)

转载 作者:搜寻专家 更新时间:2023-11-01 04:05:04 27 4
gpt4 key购买 nike

我想要的是:给定一个 10 页的 pdf 文件,我想在网络上的表格中显示该 pdf 的每一页。实现这一目标的最佳方法是什么?我想一种方法是将这个 10 页 pdf 文件拆分为 10 个 1 页 pdf,并以编程方式将每个 pdf 显示到表格的一行中。我可以用 iText 做到这一点吗?有没有更好的方法来实现这一点?

最佳答案

来自 Split a PDF file (using iText)

import java.io.FileOutputStream;

import com.lowagie.text.Document;
import com.lowagie.text.pdf.PdfCopy;
import com.lowagie.text.pdf.PdfImportedPage;
import com.lowagie.text.pdf.PdfReader;

public class SplitPDFFile {

/**
* @param args
*/
public static void main(String[] args) {

try {
String inFile = args[0].toLowerCase();
System.out.println ("Reading " + inFile);
PdfReader reader = new PdfReader(inFile);
int n = reader.getNumberOfPages();
System.out.println ("Number of pages : " + n);
int i = 0;
while ( i < n ) {
String outFile = inFile.substring(0, inFile.indexOf(".pdf"))
+ "-" + String.format("%03d", i + 1) + ".pdf";
System.out.println ("Writing " + outFile);
Document document = new Document(reader.getPageSizeWithRotation(1));
PdfCopy writer = new PdfCopy(document, new FileOutputStream(outFile));
document.open();
PdfImportedPage page = writer.getImportedPage(reader, ++i);
writer.addPage(page);
document.close();
writer.close();
}
}
catch (Exception e) {
e.printStackTrace();
}

/* example :
java SplitPDFFile d:\temp\x\tx.pdf

Reading d:\temp\x\tx.pdf
Number of pages : 3
Writing d:\temp\x\tx-001.pdf
Writing d:\temp\x\tx-002.pdf
Writing d:\temp\x\tx-003.pdf
*/

}
}

许多 iText 示例 here .

关于java - iText:将 PDF 拆分为多个 PDF(每页 1 个),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5736675/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com