我知道如何生成一个HTML页面。我想知道如何从多个HTML页面生成的pdf生成单个pdf页面。使用iText从多个HTML页面生成PDF
例如有HTMLX1.html
还有另一个文件HTMLX2.html
我可以从HTML分别生成单独的PDF文件PDFX1.pdf
和PDFX2.pdf
。我可以将它们写入文件系统,然后连接它们,如iTextConcatenate Example。
我只是想知道如果我可以在不将它们写入文件系统的情况下将这个动作结合起来。我无法识别缺失的链接
我知道如何生成一个HTML页面。我想知道如何从多个HTML页面生成的pdf生成单个pdf页面。使用iText从多个HTML页面生成PDF
例如有HTMLX1.html
还有另一个文件HTMLX2.html
我可以从HTML分别生成单独的PDF文件PDFX1.pdf
和PDFX2.pdf
。我可以将它们写入文件系统,然后连接它们,如iTextConcatenate Example。
我只是想知道如果我可以在不将它们写入文件系统的情况下将这个动作结合起来。我无法识别缺失的链接
当您创建PDFX1.pdf,使用具有的ByteArrayOutputStream
而不是FileOutputStream
一个PdfWriter
:
ByteArrayOutputStream baos1 = new ByteArrayOutputStream();
PdfWriter writer = PdfWriter.getInstance(document, baos1);
当串联的PDF文档,使用PdfReader
与ByteArrayInputStream
:
PdfReader reader = new PdfReader(new ByteArrayInputStream(baos1.toByteArray()));
或者您也可以直接使用字节数组:
PdfReader reader = new PdfReader(baos1.toByteArray());
(对PDFX2.pdf执行同样的操作。)
不错。我在想我自己,我将需要使用BufferedOutStream。我希望这会做的伎俩将尝试。我会接受我在使用File I/O时变得有点sl sl – Acewin
如果您想避免写入文件,则可以使用StringReader
和StringWriter
。
的Oracle文档:
它仍然是一个I/O进程,但你不会写入或读出一个实际文件。相反,您将使用字符串缓冲区。
不是最有用的方法。 PDF文件不像其他文本文件。它们可以存储在InputStreamReader中,但不能存储在StringReader中。 – Acewin
感谢David更新问题 – Acewin