Tag: itext

如何从iText PDFReader获取字节数组

如何从Itext PDFReader获取字节数组。 float width = 8.5f * 72; float height = 11f * 72; float tolerance = 1f; PdfReader reader = new PdfReader(“source.pdf”); for (int i = 1; i tolerance || Math.abs(heightToAdd) > tolerance) { float[] newBoxValues = new float[] { cropBox.getLeft() – widthToAdd / 2, cropBox.getBottom() – heightToAdd / 2, cropBox.getRight() + widthToAdd / […]

如何在iText中创建粘贴注释的“回复”

我试图用iText创建粘贴注释的“回复”,有谁知道怎么做? 另一个问题:如何修改注释日期?

IText:如何在pdf中添加空白页?

我有pdf文档,例如25页。 如何在第10页和第11页添加一个空白页面?

是否可以逐步使用iText RTF(Java库)刷新输出? (outofmemory错误)

我正在使用iText创建一个RTF文档。 完成后它将有几百页。 但是,当它完成将所有各种段落和表添加到文档中时,我不断收到一个内存错误,并且它正在尝试实际创建RTF文件(使用document.close();) 我用-Xmx350m增加了运行时内存,但由于用户计算机没有那么多内存,所以不再增加它。 有没有办法逐步写入RTF文档,而不是最后一个巨大的块?

减少ITextPDF中的图像大小(字节)

我正在使用itext PDF库在Java中构建一个图像密集型的PDF文档。 每个页面上都有十几张图片。 原始源图像的分辨率非常高,我使用scaleToFit将图像渲染到我需要的大小。 我遇到的问题是PDF文档仍然很大。 我的理解是包含整个原始高分辨率图像,我使用的缩放仅影响实际渲染,而不影响文件中包含的图像的大小。 我通过删除缩放来validation这一点 – 页面是在高分辨率图像彼此重叠和页面边缘的情况下渲染的,并且PDF与缩放到位时的大小相同。 那么,这就是问题 – 如何通过缩小每个图像来减小PDF文件的大小? 如果我失去了一点图像质量,那就没关系。 手动重新调整源图像将很困难。

iText页面包装 – 改变元素的顺序

当我遇到这个问题时,我正在使用iText生成PDF报告,并编写了一个简单的例子来说明它。 我正在组合简单的段落和图像。 图像的高度使得3适合PDF页面,但是当文本在页面上时,只有2个图像适合。 我使用以下代码创建PDF: Document document = new Document(PageSize.LETTER, 0, 0, 0, 0); PdfWriter writer = PdfWriter.getInstance(document, fileOutput); document.open(); document.add(new Paragraph(“hello world1”)); addImage(document); addImage(document); addImage(document); document.add(new Paragraph(“hello world2”)); document.close(); 我希望输出看起来像这样 hello world1 image image image hello world2 相反,我得到的是, Hello world 1 image image hello world 2 image 我没有使用iText设置任何奇怪的包装参数,这个例子真的很简单。 关于为什么它似乎是自动包装这个错误的任何想法? 在实际情况中,仅添加分页符不是可接受的解决方案。 非常感谢。

如何使用IText在PDF的页面中间插入内容

我需要在PDF中将内容插入页面中间。 内容可以是动态表格或图像。 我的概念是首先将PDF分成两部分,然后通过替换占位符字段来获取要添加和追加的新内容。 根据IText,Splitting称为Tiling,这是一个相同的示例。 http://itextpdf.com/examples/iia.php?id=116 上面的代码有两个缺点:1。它将页面分成16个部分。 但这是示例的一部分。 我仍然无法找到一种方法将文件分成两部分。 2.其次,拆分页面将转换为完整页面,从而扰乱其比例。 重新排列代码是另一个问题。 应在附加模式下重新排序剩余的内容。 但直到我只找到代码来添加完整的新页面而不仅仅是内容。 我找到了一个代码,通过替换占位符来附加PDF内容: float[] fieldPosition= pdfTemplate.getAcroFields().getFieldPositions(“tableField”); PdfPTable table = buildTable(); PdfContentByte cb = stamper.getOverContent(1); table.writeSelectedRows(0, -1, fieldPosition[1],fieldPosition[4],cb); 请帮我解决这个要求。

在iText中将PDFPTable添加到页面底部

我正在尝试添加一个表格作为包含所有版权文本,页码等的页脚。但是我找不到任何可以接受PdfPTable支持方法 对于短语,有如下代码: ColumnText.showTextAligned(writer.getDirectContent(), Element.ALIGN_CENTER, new Phrase( String.format(“%d”, document.getPageNumber())), (document.getPageSize().getLeft() + document.getPageSize().getRight())/2, document.getPageSize().getBottom() + 18, 0);

如何真正使用ItextPDF来保护PDF?

我一直致力于在PDF上设置密码以防止复制/粘贴并允许打印,添加水印并设置所有者密码以防止进一步更改。 一切都按预期运作良好,没有问题。 然后我免费下载了这个为期15天的pdf清除工具,a-pdf。 眨眼间它会删除所有保护,无论密码的复杂程度如何(尝试使用50个字符长度的所有类型的字符)。 我看到itextPDF中还有其他方法来加密文档。 我使用了以下内容: File f = new File(“C:/TEMP/zip/waterMarked.pdf”); String hardPassword = “D 5BaIZQ@ CqAk+NQCW)7Dkgb@i&02ifu!2TMX*d 0TGK(j(Kq”; byte[] hardPasswordByte = hardPassword.getBytes(); PdfReader reader = new PdfReader(“C:/TEMP/zip/Original_document-9.pdf”); FileOutputStream out = new FileOutputStream(f); PdfStamper stamp = new PdfStamper(reader, out); //first argument is the user password. If set to something it asks for password when opening file, […]

使用ITEXT以PDF格式显示页码

我们使用Itext在我们的Web应用程序中生成PDF。 PDF正在正确生成。 我需要在页脚中显示一些版权信息以及页码。 我需要在底部左侧显示版权信息,而在底部右侧显示页码。 我已经浏览了谷歌和一些文章,使用它们我可以在底部添加页脚。 但是这个页脚仅显示底部右侧的版权。 如何使用Itext为此添加页码? 以下是我用于在页脚右侧生成版权信息的代码。 static class HeaderFooter extends PdfPageEventHelper { public void onEndPage(PdfWriter writer, Document document) { Rectangle rect = writer.getBoxSize(“footer”); BaseFont bf_times; try { bf_times = BaseFont.createFont(BaseFont.TIMES_ROMAN, “Cp1252”, false); Font font = new Font(bf_times, 9); ColumnText.showTextAligned(writer.getDirectContent(), Element.ALIGN_LEFT, new Phrase(“Copyright 2011”, font), (rect.getLeft() + rect.getRight()) / 2, rect.getBottom() – 18, 0); […]