我在使用 iText 以及将 2 个 PDF 合并为 1 个 PDF 时遇到问题。
我想合并这个 PDF:
PDF1 - 一个站点:
这是 PDF1。
PDF2 - 一个站点:
这是PDF2。
我需要的:https://dl.dropboxusercontent.com/u/4001370/whatIneed.pdf https://dl.dropboxusercontent.com/u/4001370/whatIneed.pdf
代码 1 - 两个站点:
一个站点一:这是 PDF1。
一站二:这是 PDF2。
PDFMergerUtility ut = new PDFMergerUtility();
ut.addSource("C:\\Temp\\PDF1.pdf");
ut.addSource("C:\\Temp\\PDF2.pdf");
ut.setDestinationFileName("C:\\Temp\\Code1.pdf");
ut.mergeDocuments();
代码 2 - 号码被覆盖:
这是 PDF(1/2)。
public class main {
public static void main(String[] args) throws IOException, DocumentException {
PdfReader reader;
PdfImportedPage page;
LinkedList<File> fileList = new LinkedList<File>();
fileList.add(new File("C:\\Temp\\PDF1.pdf"));
fileList.add(new File("C:\\Temp\\PDF2.pdf"));
File ergebnis = new File("C:\\Temp\\Code2.pdf");
Document document2 = new Document(PageSize.A4);
PdfWriter writer = PdfWriter.getInstance(document2, new FileOutputStream(ergebnis));
document2.open();
PdfContentByte canvas = writer.getDirectContent();
// Header
reader = new PdfReader(fileList.get(0).getAbsolutePath());
page = writer.getImportedPage(reader, 1);
canvas.addTemplate(page, 0, 0);
// Aufgabe
reader = new PdfReader(fileList.get(1).getAbsolutePath());
for(int i=1; i<=reader.getNumberOfPages(); i++){
page = writer.getImportedPage(reader, i);
canvas.addTemplate(page, 0, 0);
document2.newPage();
}
document2.close();
writer.close();
}
}
我不知道。我希望你能帮助我解决这个问题。
请阅读第6章 http://manning.com/lowagie2/samplechapter6.pdf我的书。它解释了为什么使用PdfWriter
/PdfImportedPage
合并文档的方法是错误的。你应该使用PdfCopy
or PdfSmartCopy
如果你想连接两个文档。你应该使用PdfStamper
如果您希望一份文档充当公司文具对于其他文档。从你的问题来看,不清楚你需要哪一个(你可以对其进行解释),所以请阅读第 6 章。我已经努力编写它并免费提供,以便你可以选择以下解决方案:适合您。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)