Tag: itext

iTextPdf 5.5.1 – 使用自定义字体将大型HTML转换为单页PDF

我正在使用包含CSS样式的HTML文档。 我想创建一个带有自定义字体的pdf文件和根据文档内容的高度。 我按照这个实现调整了基于HTML数据量的页面大小但它需要单独的HTML和CSS。 我将整个文档字符串作为HTML提供,并将CSS String保留为null。 它给了我例外。 而且如果有任何例子在Java中实现自定义字体请帮忙。 Proforma-Quittung 27.03.17 11:18 2017/2432 @font-face { font-family: “Roboto Mono”; src: url(‘RobotoMono-Bold.ttf’) format(‘ttf’), url(‘RobotoMono-BoldItalic.ttf’) format(‘ttf’), url(‘RobotoMono-Italic.ttf’) format(‘ttf’), url(‘RobotoMono-Light.ttf’) format(‘ttf’), url(‘RobotoMono-LightItalic.ttf’) format(‘ttf’), url(‘RobotoMono-Medium.ttf’) format(‘ttf’), url(‘RobotoMono-MediumItalic.ttf’) format(‘ttf’), url(‘RobotoMono-Regular.ttf’) format(‘ttf’), url(‘RobotoMono-Thin.ttf’) format(‘ttf’), url(‘RobotoMono-ThinItalic.ttf’) format(‘ttf’); } body { font-family: “Roboto Mono”; font-size: 10pt; width: 100%; margin: 0pt; } .documentType { text-transform: uppercase; } […]

使用iText在PDF上无法正确打印数据

这是我的XHTML: Type Custodian Name Relationship to Owner Percent Minor Name For the State of UTMA/UGMA QQQQQQQQQQQQQQQQQQQQQQQQQ MMMMMMMMMMMMMMMMMMMMMMMMMM Common Law Husband 15% RRRRRRRRRRRRRRRRRRRRRRRR BBBBBBBBBBBBBBBBBBBBBB DC 当我尝试使用此代码将其转换为PDF时: import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import org.xhtmlrenderer.pdf.ITextRenderer; import com.lowagie.text.DocumentException; public class Practice { public static void main(String[] args) throws IOException, DocumentException { String inputFile = “sample.xhtml”; String […]

使用iText或其他方式将PDF转换为多个JPG

我需要将任何多页PDF文件转换为一组JPG。 由于PDF文件应该来自扫描仪,我们可以假设每个页面只包含一个要提取的图形对象,但我无法100%确定。 因此,我需要将每个页面中的任何可渲染内容转换为单个JPEG文件。 我怎么能用iText做到这一点? 如果我不能用iText做这个,那么Java库可以实现这个目标吗? 谢谢。

iText如何从可填写的模板创建多页文档

我正在尝试在iText中创建一个多页PDF文档,其中包含填写的表单,每个人一个。 我已经查找了如何在互联网上执行此操作的示例,并在我的解决方案中使用了这些示例。 PDF模板是使用Adobe Acrobat Pro创建的模板。 我已经能够使用iText从我的模板中成功填写并返回单页PDF文档,但多文档过程似乎无法正常工作。 这个我的程序演示了我想要做的事情: import com.itextpdf.text.pdf.AcroFields; import com.itextpdf.text.pdf.PdfReader; import com.itextpdf.text.pdf.PdfStamper; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.pdf.PdfSmartCopy; import java.util.Date; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.text.NumberFormat; import java.io.IOException; import java.io.ByteArrayOutputStream; import java.io.FileOutputStream; public class ITextTest { public static final String TEMPLATE = “C:\\RAD7_5\\iTextTest\\iTextTest\\input\\LS213_1.pdf”; public static void main(String[] args) { ITextTest iTextTest = new ITextTest(); […]

如何更改android中每个pdf页面的标题

我在android应用程序中使用itext创建了pdf页面,需要为pdf页面添加页眉和页脚,并且需要在每个页面中更改标题。 我喜欢添加页眉和页脚 公共类HeaderAddFooter扩展PdfPageEventHelper { private Phrase footer; private Phrase header; private String patientName; private String patientID; Font headerFont = new Font(FontFamily.TIMES_ROMAN, 12, Font.NORMAL); Font footerFont = new Font(FontFamily.TIMES_ROMAN, 12, Font.NORMAL); Font TitleFont = new Font(FontFamily.COURIER, 14, Font.NORMAL); /* * constructor */ public HeaderAddFooter(String name,String id) { super(); header = new Phrase(“***** Header *****”); footer = […]

使用OnGenericTag在PdfPCell中绘制一条线

我正在创建一个新的线程,开始于在Itext中的当前位置绘制一条线 。 我已经确定没有触发onGenericTag方法。 我首先建立事件助手: writer=PdfWriter.getInstance(document,new FileOutputStream(filePath.getText())); writer.setPageEvent(new EventHelper(document)); document.open(); 这是整个助手类: private class EventHelper extends PdfPageEventHelper { private Phrase footer=new Phrase(); private Document document=null; private Chunk copyright=new Chunk(“Copyright 2017 (all rights reserved)”); private String pageNum=” Page “; Font copyrightFont = new Font(FontFamily.TIMES_ROMAN, 10.f, Font.NORMAL, BaseColor.LIGHT_GRAY); Font pageFont=new Font(FontFamily.TIMES_ROMAN, 10.f, Font.NORMAL, BaseColor.BLACK); public EventHelper(Document document_) { super(); […]

使用pdfclown少数搜索关键字不会突出显示在中文/日文文档中

我遇到一些搜索关键字的问题并没有在中文文档中突出显示。由于信仰问题,我不提供实际的pdf。 搜索关键词是1)亿元或2)收入亿来源请查找我测试的pdf文档路径,pdfpath 链接 。 和ActualResult 链接 。我已经在以下链接中发布了与此问题相关的内容,但有些关键字在几个中文文档中没有正确突出显示。请提供您的输入以突出显示我提到的搜索关键字。 import java.awt.Color; import java.awt.Desktop; import java.awt.geom.Rectangle2D; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URL; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.io.BufferedInputStream; import java.io.File; import org.pdfclown.documents.Page; import org.pdfclown.documents.contents.ITextString; import org.pdfclown.documents.contents.TextChar; import org.pdfclown.documents.contents.colorSpaces.DeviceRGBColor; […]

iText PDF正文内容在页脚部分重叠

我使用itextpdf-5.5.3版本。 当我生成PDF并使用PdfPTable时,它在页脚部分重叠。 一些PDF代码。 writer=PdfWriter.getInstance(document, out); document.setPageSize(PageSize.A4); document.setMargins(50, 45, 50, 40); document.setMarginMirroring(false); writer.setPageEvent(new HeaderAndFooter()); document.open(); 对于页脚, public class HeaderAndFooter extends PdfPageEventHelper { private Font footerFont; public HeaderAndFooter() { super(); footerFont = getFontObj(BaseColor.LIGHT_GRAY, 15); footerFont.setStyle(Font.ITALIC); } @Override public void onEndPage(PdfWriter writer, Document document) { PdfContentByte canvas = writer.getDirectContent(); canvas.rectangle(50, 30, 500, 780); canvas.setColorStroke(BaseColor.LIGHT_GRAY); canvas.stroke(); PdfContentByte cb = […]

iText-PdfReader:重建失败:字典键endstream不是名称

我使用的是5.4.4版,我遇到了com.itextpdf.text.pdf.PdfReader的问题。 当我阅读PDF时 PdfReader reader = new PdfReader(„Test.pdf”); 它是一张扫描的纸张,我可以用Adobe Reader打开它 – 发生以下错误: com.lowagie.text.exceptions.InvalidPdfException:重建失败:字典键endstream不是名称。 在文件指针3913220; 原始消息:字典键endstream不是名称。 在文件指针3913220处 at com.lowagie.text.pdf.PdfReader.readPdf(PdfReader.java:668) 在com.lowagie.text.pdf.PdfReader。(PdfReader.java:189) 在com.lowagie.text.pdf.PdfReader。(PdfReader.java:264) 在com.lowagie.text.pdf.PdfReader。(PdfReader.java:247) 我查看代码,因为itext 5.4.4抛出exception。 在旧版本中,将忽略此exception。 来自方法readDocObj()的代码在第1319行的itext 5.4.3中: catch (Exception e) { obj = null; // Exception ignored !!!!!!!! } 来自方法readDocObj()的代码在第1319行的itext 5.4.4中: catch (IOException e) { if (debugmode) { e.printStackTrace(); obj = null; } else throw e; // […]

解析HTML片段并添加到PdfPTable

我正在创建一个由几个PdfPTable组成的PDF,其中一些PdfCell由简单的短语组成,其他的则需要解析HTML片段。 为了确保解析的HTML添加了所需的样式,并在正确的位置,我已将其存储在段落中,然后将其添加到PdfPCell。 但是,这样做会导致我在处理列表和引号等HTML标记时遇到问题。 下面是我正在做的一个粗略的例子,我该怎么做才能正确处理HTML列表,引号等? 例如:iText正确处理HTML列表并知道将其转换为iText List / ListItem。 我需要将该List添加到我的PdfTable中。 我知道将列表元素放入段落中取消了正确的样式(整个列表最终都在一行而没有编号)并且想知道处理这个的正确方法 PdfPTable table = new PdfPTable(1); table.addCell(parseHtmlToParagraph(htmlString)); table.addCell(new Phrase(“Name” + user.getName())); public Paragraph parseHtmlToParagraph(String str) throws IOException { StringReader body = new StringReader(str); final Paragraph para = new Paragraph(); XMLWorkerHelper.getInstance().parseXHtml(new ElementHandler() { @Override public void add(Writable w) { if (w instanceof WritableElement) { List elements = […]