我对Java比较陌生,我想用PDFbox取代现有的基于iText的Javascript。(Java 2.0)我有一个pdf-Formsheet(但这个表没有Acroform条目),我想用信息(姓名、出生日期等)填充它。pdf是一个矩形的特殊大小(像一张联系人卡片)。
File file = new File("ToBeFilled.pdf");
PDDocument document = PDDocument.load(file);
System.out.println("PDF loaded");
//Retrieving the page
PDPage page = (PDPage)document.getPages().get( 0 );
PDFont font = PDType1Font.HELVETICA_BOLD;
PDPageContentStream content = new PDPageContentStream(document, page, PDPageContentStream.AppendMode.APPEND, true);
content.beginText();
//Setting the font to the Content stream
content.setFont(font, 30);
//Setting the position for the line (float x, float y), (0,0) = lower left corner
content.newLineAtOffset(100, 400);
String text = "This is the sample document and we are adding content to it.";
String text1 = "This is an example of adding text to a page in the pdf document. we can add as many lines";
String text2 = "as we want like this using the ShowText() method of the ContentStream class";
//Adding text in the form of string
content.showText(text);
//Adding text in the form of string
content.newLine();
content.showText(text1);
content.newLine();
content.showText(text2);
//Ending the content stream
content.endText();
System.out.println("Text added");
content.close();
//Saving the document
document.save("newPrint.pdf");
//Closing the document
document.close();
文本不显示。我错过了什么?我想,只要有正确的文字位置,我就可以简单地在PDF上写字了?
源头在工作。可能您的content.newlineatoffset(100,400);
对于您的小卡来说太大了--超出了界限。
顺便说一下,您必须setleading(float)
才能有意义地使用newline()
。
问题:我有一个需要填写的现有PDF表单(*.PDF)。如何使用节点JS动态填充它?
我们需要为我们的客户填写一个表格,并获得一个PDF,他们可以打印,签名 但我很难确定页码。由于表单由多个模板组合而成,我必须用PDFBox修复页码。到目前为止,我们在每页上都使用了一个样式化的输入字段。但由于它们都有相同的名字,我不能单独填写。 我可以以某种方式拆分或克隆字段并为它们提供单独的名称,以便我可以单独填充它们吗?当然,样式应该保持不变。
我正在使用pdfbox 2.0.5使用以下代码填写PDF文档的表单字段: 我得到这个错误:U+0434('AFII10069')在此字体Times-Roman(泛型:TimesNewRomanPSMT)编码:StandardEncoding with Difference中不可用 我必须在文本字段中指定哪种字体来处理西里尔(或亚洲)字符? 谢谢,罗波
我是新的PDF框,需要填写的信息在PDF表单,其中有节和字段名: 填写信息的名称和框 地址和填写信息的框 城市框来填充信息。 目前没有错误上面的代码正在工作填写一些垃圾字段。 需要用方框信息填满姓名,方框信息填满姓名,方框信息填满地址,方框信息填满地址,方框信息填满地址
我用PDFBox填写一个PDF表单,我在保存它之前把它变平。窗体具有文本和窗体字段的自定义字体。当我在未安装此自定义字体的设备上打开输出文档(具有平坦字段)时,普通文本的字体仍然正确,但平坦字段的字体显示为回退(?)字体。在安装了这种自定义字体的设备上,一切看起来都和预期的一样。 有没有办法在展平窗体后,强制对所有文本使用相同的自定义字体? 使用PDFBOX填写PDF表单时使用的代码(简化):
我的目标是打开一个PDF文档,填写一些表单字段,然后将其呈现为图像。我正在使用带有Java的PDFBox来实现它。我开始使用版本2.0.2(最新版本),并填写表单字段。当我保存它,然后用PDF阅读器打开它时,表单字段有值。但当我将其呈现为图像时,表单字段有黑色边框,内部没有文本。然后我在1.8.12上尝试了同样的方法,它起作用了。不过,我真的很想使用2.x中的新特性。 PDF只有顶形,没有XFA(