Tag: pdfbox

QuadBounds使用itext或pdfbox订购PdfAnnotation标记

0 1 2 3 * (x1,y1) *************** (x2,y2) * * * * * * * 4 5 * * 6 7 * (x3,y3) *************** (x4,y4) 对于PdfAnnotation或PDFAnnotation的float数组,这是正确的顺序吗? 我尝试创建一个pdf注释,但注释是凹的而不是像通常使用adobe reader或acrobat创建的那样。

在java中使用pdfbox将文本叠加到先前创建的pdf文档上

我已经创建了几个PDF文档。 我试图做的是使用PDFBox。 我需要将文本放在这些创建文档的几个位置,但我不想修改这些区域内的文本。 例如,可能有以下部分 – 名称: ______________________________ 我将文本放入该区域,但我需要下划线保持相同的长度。 我相信最好的解决方案是创建一个位于区域上方的文本框或类似文本,以使该行保持相同的长度。 换句话说,我不想编辑内联文本,因此它将保持相同的长度。 我没有这方面的代码,因为我只是想了解pdfbox包。 我一直在网上寻找示例,但大多数只是展示如何创建文档而不是如何更新以前的文档。 我该怎么做呢?

如何跟踪PDPageContentStream的文本输出的位置?

我使用Java将输出写入PDDocument ,然后将该文档附加到现有文档,然后再将其提供给客户端。 大多数都运作良好。 尝试在写入PDDocument时处理内容溢出时,我只有一个小问题。 我想跟踪文档插入文档的位置,以便当“光标”可以说超过某一点时,我将创建一个新页面,将其添加到文档中,创建一个新的内容流,并继续正常。 这是一些显示我想要做的代码: // big try block PDDocument doc = new PDDocument(); PDPage page = new PDPage(); doc.addPage(page); PDPageContentStream content = new PDPageContentStream(doc, page); int fontSize = 12; content.beginText(); content.setFont(…); content.moveTextPositionByAmount(margin, pageHeight-margin); for ( each element in a collection of values ) { content.moveTextPositionByAmount(0, -fontSize); // only moves down in document // […]

java pdfbox printerjob错误的缩放/页面格式

我正在尝试使用pdfbox打印现有的pdf文件。 目前我通过maven使用pdfbox 2.0.0 RC3。 这是我目前的代码: PDDocument document = PDDocument.load(new File(myPdfFile)); PrinterJob job = PrinterJob.getPrinterJob(); if (job.printDialog()) { job.setPageable(new PDFPageable(document)); job.print(); } document.close(); 为了测试,我用Adobe Acrobat打印了一个测试pdf,并用几行代码打印了相同的pdf。 除边境外,一切正常。 所有边框(页眉,页脚,左侧和右侧)都很小,页脚太小。 有没有一种我在万维网上找不到的神奇方法来设置正确的缩放/格式?

使用PDFBox合并Pdf文件

我必须使用Apache的PdfBox合并两个pdf文件。 我已经采用了物理pdf文件。 以下是代码: PDFMergerUtility ut = new PDFMergerUtility(); ut.addSource(path1); ut.addSource(path2); ut.setDestinationFileName(path3); ut.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly()); 文件合并完美但后面有一些约束如下: 我在代码本身创建第一个文件,所以它是PDDocument对象。 我必须与第一个文件合并的文件是字节数组格式。 我不需要保存合并的文件,但需要将其转换为字节数组。 请任何人帮助我达到这个要求。

在PDFBox中,为什么保存后文件大小会变得非常大?

题 我正在使用PDFBox 1.8.8来处理现有的PDF文件。 保存文档后,输出文件将比原始文件大几倍。 这是不可取的。 如何减小输出文件的文件大小? 如何复制我的情况 在以下代码中,PDFBox只是加载现有PDF然后保存。 没有别的办法。 然而,文件大小仍然变大了几倍。 以下是两个示例输入文件的链接。 对于input1.pdf,文件大小从6MB增加到50MB。 对于input2.pdf,文件大小从0.4MB增加到1.3MB。 https://dl.dropboxusercontent.com/u/13566649/samplePDF/input1.pdf https://dl.dropboxusercontent.com/u/13566649/samplePDF/input2.pdf import java.io.*; import org.apache.pdfbox.pdmodel.*; import org.apache.pdfbox.exceptions.*; class Test { public static void main(String[] args) throws IOException, COSVisitorException { PDDocument document = PDDocument.load(“input1.pdf”); document.save(“output.pdf”); document.close(); } } 我试过的 我已经尝试使用addCompression()类的addCompression()方法,如下面的代码所示。 它没有改变任何东西。 输出文件大小仍然相同。 class Test2 { public static void main(String[] args) throws IOException, […]

使用PDFBox将标题添加到现有PDF文件

我正在尝试将标头添加到现有的PDF文件中。 它可以工作,但现有PDF中的表头由字体的变化搞砸了。 如果我删除设置字体,则标题不会显示。 这是我的代码: // the document PDDocument doc = null; try { doc = PDDocument.load( file ); List allPages = doc.getDocumentCatalog().getAllPages(); //PDFont font = PDType1Font.HELVETICA_BOLD; for( int i=0; i<allPages.size(); i++ ) { PDPage page = (PDPage)allPages.get( i ); PDRectangle pageSize = page.findMediaBox(); PDPageContentStream contentStream = new PDPageContentStream(doc, page, true, true,true); PDFont font = PDType1Font.TIMES_ROMAN; […]

检测文本字段溢出

假设我有一个带有文本字段的PDF文档,其中定义了一些字体和大小,有没有办法确定某些文本是否适合使用PDFBox的字段矩形? 我试图避免文本没有完全显示在字段内的情况,所以如果文本溢出给定字体和大小,我想将字体大小更改为Auto (0)。

使用Apache PDFBox在PDF中查找javascript代码

我的目标是提取和处理PDF文档可能包含的任何JavasSript代码。 通过在编辑器中打开PDF,我可以看到如下对象: 402 0 obj <> endobj 我试图使用Apache PDFBox来实现这一目标,但到目前为止没有运气。 该行返回一个空列表: jsObj = doc.getObjectsByType(COSName.JAVA_SCRIPT); 任何人都可以给我一些方向吗?

PDFBox – 将2个肖像页面合并到一个并排的横向页面上

我正在尝试编写一个pdf转换,它将包含一个包含1-up肖像页面的pdf,并创建一个新文档,但每2页合并为一个2-up横向页面 即。 下面的代码将缩小50%的内容,但我无法弄清楚如何使新页面成为景观,同时将其他页面注入肖像,并注入左上角和右中心 public static void main(String[] args) throws IOException, DocumentException, COSVisitorException { scalePages(“c:/pdf/in.pdf”, “c:/pdf/out” + new Date().getTime() + “.pdf”, 0.50f); } public static void scalePages(String inFile, String outFile, float scale ) throws IOException, COSVisitorException { PDDocument doc1 = null; try { doc1 = PDDocument.load( inFile ); List allPages = doc1.getDocumentCatalog().getAllPages(); for( int i=0; i<allPages.size(); […]