2013-05-09 117 views
-1

我有一个iText和2PDF合并为PDF的问题。在Java中合并2 PDFs

我想这个合并的PDF文件:

PDF1 - 一个网站:

这是PDF1。

PDF2 - 一个网站:

这是PDF2。

我需要什么: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(); 
} 

}

我不知道。我希望你能在这个问题上帮助我。

+0

显而易见的是,页面1的全部加上页面2的全部都适合单个目标页面吗?在这种情况下,你只需要调整'canvas.addTemplate(page,0,0);' – mkl 2013-05-10 06:02:30

回答

1

的问题是有点含糊 - 如果你问如何采取两种PDF和它们合并在一起,这太文章显示了这样做在iText的最简单的方法:How to merge different documents into single one?

+0

这个代码的数字参数就像我的第一个例子的代码一样。 – Ulti 2013-05-14 08:04:55

2

请读我的书的Chapter 6。它解释了为什么使用PdfWriter/PdfImportedPage是合并文档的错误方法。如果要连接两个文档,则应该使用PdfCopyPdfSmartCopy。如果您希望一个文档作为公司文具用于其他文档,则应使用PdfStamper。从你的问题来看,目前还不清楚你们两个人中哪一个人需要你(你可以打开解释),所以请阅读第6章。我已经完成了编写和免费提供的工作,以便你可以选择解决方案适合你。

+0

我收集提问者想把两个源文档的内容在同一个结果页上**一个在另一个之下,因此PdfCopy可能不是解决方案。 – mkl 2013-05-10 08:38:33

+0

这就是为什么我添加了关于PdfStamper和公司文具的评论。 – 2013-05-10 10:37:59

+0

Jep我需要在一个结果页上的两个文件。感谢关于iText的章节。我读过它,但是我无法在一个网站上将我的两个PDF连接成一个pdf。 – Ulti 2013-05-14 08:07:56