Tag: itext7

iText7 setValue方法不起作用

我正在尝试使用iText 7将表单添加到pdf。 尝试设置字段的值时,我一直收到错误。 我无法从addKid()方法的文档中找到信息。 有谁知道如何解决这个错误? 这是我正在使用的代码示例: PdfTextFormField confField = PdfFormField.createText(pdf); confField.setFieldName(fieldName); PdfWidgetAnnotation confCoverAnnot = new PdfWidgetAnnotation(new Rectangle(x, y, width, height)); PdfWidgetAnnotation confAnnot = new PdfWidgetAnnotation(new Rectangle(x2, y2, width2, height2)); for (int i = 1; i<= numPages; i++) { switch(i) { case 1: pdf.getPage(i).addAnnotation(confCoverAnnot); break; default: pdf.getPage(i).addAnnotation(confAnnot); break; } } /* Trying to have two different […]

将JFreeChart从Itext 5迁移到7

我正在将我的应用程序从Itext 5迁移到7,并且无法找到有关如何将JFreeChart添加到我的文档的任何内容。 我问过那个论坛,但他们无能为力,所以他们把我送到了这里。 这是我的工作Itext 5代码: PdfContentByte cb=writer.getDirectContent(); PdfTemplate tp=cb.createTemplate(sizeX*scale+1,sizeY*scale+1); PdfGraphics2D g2d=new PdfGraphics2D(cb,sizeX*scale+1,sizeY*scale+1); tp.setWidth(sizeX*scale+1); tp.setHeight(sizeY*scale+1); Chart.getInstance().getChart().draw(g2d, new java.awt.geom.Rectangle2D.Float(0,0,sizeX*scale,sizeY*scale)); g2d.dispose(); cb.add(tp); 有人可以帮我创建等效的itext 7吗? TIA。

iText 7 HTML到PDF的转换

我正在使用iText 7进行PDF生成。我需要附加包含HTML文档的Rich Text。 在itext 5中,我使用Chunk类来提取数据。 但是在itext 7中我没有看到任何API。 我尝试了代码 HtmlConverter.convertToPdf(is, os, properties); 但它给出了以下错误。 Exception in thread “main” java.lang.NoSuchMethodError: com.itextpdf.layout.font.FontSet.getFonts()Ljava/util/Set; at com.itextpdf.html2pdf.attach.impl.DefaultHtmlProcessor.processDocument(DefaultHtmlProcessor.java:107) at com.itextpdf.html2pdf.attach.Attacher.attach(Attacher.java:18) at com.itextpdf.html2pdf.HtmlConverter.convertToDocument(HtmlConverter.java:108) at com.itextpdf.html2pdf.HtmlConverter.convertToPdf(HtmlConverter.java:85) at com.itextpdf.html2pdf.HtmlConverter.convertToPdf(HtmlConverter.java:81) at com.itextpdf.html2pdf.HtmlConverter.convertToPdf(HtmlConverter.java:69) at com.itextpdf.html2pdf.HtmlConverter.convertToPdf(HtmlConverter.java:65)

iText 7:将呈现的段落高度

我可以按如下方式设置新段落的宽度,这会产生一定的高度: Paragraph p = new Paragraph(“some longer text some longer text some longer text”); p.setWidth(100); System.out.println(“height ” + p.getHeight()); document.add(p); 当然p.getHeight()为null ,因为渲染高度是在渲染PDF文件期间计算的。 但是我需要在最终渲染之前的高度。 我怎样才能最有效地获得它?

如何在使用itext 7 API生成的PDF中显示RTL的阿拉伯字符串?

我现在几个小时都在努力解决这个问题,但我找不到出路,问题是: 我编写了一个程序,使用itext版本7(以及很多版本)生成一个pdf文件以及一些统计信息,每个事情都是正确的,但是当我的pdf应该包含一些阿拉伯字符串时,它们只是从左到右出现,没有重要的是我尝试过(更改字体,使用通用编码,将字符串放在表格的单元格内,使用canvas,……)我无法使它们正常显示。 这是我用来显示阿拉伯字符串的一段代码: PdfFont fArabic=PdfFontFactory.createFont(ARABICFONT,PdfEncodings.IDENTITY_H, true); final String ARABIC = “\u0627\u0644\u0633\u0644\u0627\u0645 \u0639\u0644\u064A\u0643\u0645”; document.add(new Paragraph(ARABIC).setFont(fArabic).setBaseDirection(BaseDirection.RIGHT_TO_LEFT)); 注意:我认为itext 5版本也许可以解决它,但正如我所说,我无法撤消我编写的代码,特别是我有它的第三个统计库,而且项目已经很晚了。我只想要一个使用itext的解决方案7版。

Itext7生成带有exception的pdf“Pdf间接对象属于其他PDF文档。 将对象复制到当前的pdf文档。“

我想用itext 7生成一个pdf,但是我们遇到了一些错误: com.itextpdf.kernel.PdfException: Pdf indirect object belongs to other PDF document. Copy object to current pdf document. at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:195) ~[kernel-7.0.2.jar:na] at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:185) ~[kernel-7.0.2.jar:na] at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:115) ~[kernel-7.0.2.jar:na] at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:187) ~[kernel-7.0.2.jar:na] at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:115) ~[kernel-7.0.2.jar:na] at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:187) ~[kernel-7.0.2.jar:na] at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:115) ~[kernel-7.0.2.jar:na] at com.itextpdf.kernel.pdf.PdfWriter.writeToBody(PdfWriter.java:383) ~[kernel-7.0.2.jar:na] at com.itextpdf.kernel.pdf.PdfWriter.flushObject(PdfWriter.java:289) ~[kernel-7.0.2.jar:na] at com.itextpdf.kernel.pdf.PdfDocument.flushObject(PdfDocument.java:1572) ~[kernel-7.0.2.jar:na] at com.itextpdf.kernel.pdf.PdfObject.flush(PdfObject.java:159) ~[kernel-7.0.2.jar:na] at com.itextpdf.kernel.pdf.PdfObject.flush(PdfObject.java:127) ~[kernel-7.0.2.jar:na] at com.itextpdf.kernel.pdf.PdfObjectWrapper.flush(PdfObjectWrapper.java:94) […]

iText7 LtvVerification.addVerification无法启用LTV

我们正在尝试启用已签名的签名LTV。 我使用以下代码添加validation。 当signature.isTsp()为false时,PDF表示Signature is not LTV enabled ,但在另一种情况下(signature.isTsp()为true),它显示为有效。 当我们打开PDF并尝试通过右键单击签名手动添加validation信息时,它会启用LTV而不会出现任何问题。 不知道我们在这里缺少什么。 任何输入都将非常有用。 // Adds LTV-enabled information to the PDF document. private ByteArrayOutputStream addLtv(final IOcspClient ocspClient, final ByteArrayOutputStream docStream) throws IOException, GeneralSecurityException { final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); final InputStream signedStream = new ByteArrayInputStream(docStream.toByteArray()); final PdfReader reader = new PdfReader(signedStream); final PdfDocument document = new PdfDocument(reader, […]