Tag: pdfbox

在PDFbox上将PDF设置为图像到图像

我正在尝试设置外部ttf,以便能够从包含阿拉伯语字符的pdf中渲染图像,我需要设置的字体是“Arial”,完成后控制台继续通知它正在使用defaultFont而不是arial。 org.apache.pdfbox.pdmodel.font.PDSimpleFont drawString ATTENTION: Changing font on from to the default font 这是我的代码: import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.Iterator; import java.util.List; import java.util.Map; import javax.imageio.ImageIO; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.PDResources; import org.apache.pdfbox.pdmodel.edit.PDPageContentStream; import org.apache.pdfbox.pdmodel.font.PDFont; import org.apache.pdfbox.pdmodel.font.PDTrueTypeFont; import org.apache.pdfbox.pdmodel.font.PDType1Font; import org.apache.pdfbox.pdmodel.graphics.xobject.PDXObjectImage; public class PdfBoxTest { public static void main(String[] args) { PdfBoxTest obj […]

使用PDFBox生成的PDF是空白的

我正在尝试将内容写入PDF文件。 我写了代码 public ByteArrayOutputStream createPDF(String text) throws IOException, COSVisitorException { PDDocument document; PDPage page; PDFont font1; PDPageContentStream contentStream; ByteArrayOutputStream output = new ByteArrayOutputStream(); document = new PDDocument(); try { page = new PDPage(); document.addPage(page); contentStream = new PDPageContentStream(document, page); contentStream.beginText(); contentStream.moveTextPositionByAmount( 100, 700 ); contentStream.drawString(“Hello World Hello World Hello World Hello World Hello World”); contentStream.endText(); […]

Java PDFBOX文本编码

我尝试将一些数据从我的Java应用程序导出到pdf文件。 我决定使用pdfBox库,但我意识到我无法正确地将希腊字符显示在pdf文件中。 有没有办法设置编码? 到utf8,还是iso-8859-7? 我尝试像PdFontEncoding或编码,但我没有得到任何东西。 感谢您的时间。

如何使用pdfbox绘制饼图?

我必须使用pdfbox绘制一个饼图。 让数据为: 学位标记百分比标记学位累积学位 Sub-1 80 80 80 Sub 2 70 70 150 Sub 3 6 65 215 Sub 490 90 305 Sub 5 5 55 360 360 设半径和中心为100像素和(250,400)。 让我们将初始线平行于x轴。 绘制初始行语句将是: contentStream.drawLine(250,400,350,400); 我坚持: a)找到圆上的点的x,y坐标,该坐标与初始线相距一定距离以绘制半径 b)使用贝塞尔曲线在两点之间绘制弧。 任何有关解决问题的帮助都将受到高度赞赏!

使用pdfBox从PDF中提取的图像的DPI

我正在使用java pdfBox库来validation带有嵌入式图像的单页pdf文件。 我知道pdf文件本身不包含DPI信息。 然而,文档中具有相同尺寸的图像在提取后具有不同的像素大小并且没有dpi元信息。 那么有可能以某种方式计算相对于pdf页面的图像大小或使用pdfBox提取其dpi信息(对于png或jpeg图像文件)的图像? 谢谢!

无法将选项卡和空格插入PDBox PDF文档

我想用PDFBOX创建的PDF格式打印出来。 它不会让我插入标签和空格,因为字体不支持它们。 为什么这是一个问题,更重要的是,我该如何解决? StudentData student = listOfDebtors.get(j); contentStream.beginText(); contentStream.setFont(font, 8); contentStream.newLineAtOffset(xPosition, yPosition); contentStream.showText(“Member #:”+ student.getMembershipNumber() + “\t” + “Grade:” + getStudentGradeInSchool(student.getYearGraduate()) + “\t” + “Year Joined” + student.getYearJoined() + “\n” + “Name:” + student.getFirstName() + ” ” + student.getLastName() + “\n” + “Amount Owed : $” + student.getAmountOwed()); 显示错误: Caused by: java.lang.IllegalArgumentException: No glyph for […]

如何使用java和PDFBox从PDF获取字符的Unicode

我正在使用Apache PDFBox和Java来解析PDF并从中获取所有信息。 提取文本仅适用于英语。 对于其他语言,我只获得一些特殊字符。 例如,提取阿拉伯字符ش将给出字符串:“?on printing。当我将计算机的”区域和语言“从英语更改为阿拉伯语时工作正常。所以我认为提取字符的Unicode将解决这个问题问题。请帮我从PDF获取字符的Unicode或建议我解决这个问题的一些解决方案。

使用PDFBox将unicode字符串写入PDF

我想使用Apache PDFBox 1.8.8创建一个包含unicode字符的PDF,但我对支持的内容和不支持的内容感到困惑。 这里发布的答案表明这是一个已修复在主干上的错误。 这里发布的另一个答案表明我必须自己做翻译。 此处发布的另一个(较旧的)答案涉及嵌入字体。 请有人澄清一下。 此外,如果它是一个现在修复的错误,有人可以告诉我PDFBox的下一个版本可能是什么时候。 谢谢。

PDFBox 1.8.10:填写并签署PDF会生成无效签名

我在PDF文档中填写(以编程方式)表单(AcroPdf),然后在文档中签名。 我从doc.pdf开始,使用PDFBox的setFields.java示例创建doc_filled.pdf。 然后我签署doc_filled.pdf,使用一些代码创建doc?filled_signed.pdf,基于签名示例并在Acrobat Reader中打开pdf。 输入的Field数据可见,签名面板告诉我 “此签名中包含的格式或信息存在错误(签名字节数组无效)” 到目前为止,我知道: 单独应用的签名代码(即直接创建一些doc_signed.pdf)会创建一个有效的签名 “隐形签名”,可见签名和可见签名存在的问题被添加到现有签名字段中。 问题甚至发生,如果我没有填写表格,但只打开并保存,即: PDDocument doc = PDDocument.load(new File(“doc.pdf”)); doc.save(new File(“doc_filled.pdf”)); doc.close(); 足以打破后来应用的签名代码。 另一方面,如果我使用相同的doc.pdf,在Adobe中手动输入字段的值,则签名代码会生成有效的签名。 我究竟做错了什么? 更新: @mkl要求我提供文件,我正在谈论(我目前没有足够的声誉,将所有文件发布为链接,抱歉给您带来不便): odc.pdf: https ://www.dropbox.com/s/ev8x9q48w5l0hof/doc.pdf ? dl = 0 doc_filled.pdf: https ://www.dropbox.com/s/fxn4gyneizs1zzb/doc_filled.pdf ? dl = 0 doc_filled_signed.pdf: https ://www.dropbox.com/s/xm846sj8f9kiga9/doc_filled_signed.pdf ? dl = 0 doc_filled_and_signed.pdf: https ://www.dropbox.com/s/5jftje6ke87jedr/doc_filled_and_signed.pdf ? dl = 0 最后一个是通过使用一次签署和填写文档来创建的 doc.saveIncremental(); 正如我已经在评论中写的那样 setNeedToBeUpdate(true); […]

尝试使用pdfBox时出现.NoClassDefFoundError

当我尝试使用其中一个PDFBox示例来提取图像时,在运行时,它给出了以下exception: Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.apache.pdfbox.pdfparser.BaseParser.(BaseParser.java:68) at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1218) at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1186) at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1111) at pdfboxtest.PdfBoxTest.extractImage(PdfBoxTest.java:69) at pdfboxtest.PdfBoxTest.main(PdfBoxTest.java:53) Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory at java.net.URLClassLoader$1.run(URLClassLoader.java:372) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:360) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) … 6 more 这是发生exception的代码的一部分,在最后两行: String pdfFile = “pdf file path”; File pdf=new File(pdfFile); PDDocument document = null; […]