回答
不知道,如果它的工作原理,但这里是我的发现
您可以使用适当的 页面大小的空白PDF作为起点,然后 覆盖在右 位置的PDF段为使用DDX的水印。您 可能需要在添加每个水印 之后将PDF平整。
http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:62109
没有测试的代码,但也许这样的事情?
<cfpdf name="resizedPdf" action="addwatermark" source="blank.pdf" copyfrom="image.pdf">
<cfpdf name="resizedPdfWithFooter" action="addfooter" source="resizedPdf" text="xyz">
看到<cfpdf>
DOC:http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7995.html
警告:我不是很了解CF,但相当多的关于iText的。
亨利的答案会起作用,但它可能会更有效一些。
你想要一个PdfStamper
。更改页面大小不是直接在更高级别上支持的,因此您必须使用低级别的pdf对象调用。就像这样:
final static float POINTS_PER_INCH = 72f;
final static float INCHES_TO_ADD = 3f;
PdfReader reader = new PdfReader(pdfPath); // throws
PdfStamer stamper = new PdfStamper(reader, outputStream); // throws
for (int curPageNum = 1; curPageNum <= reader.getNumberOfPages(); ++curPageNum) {
PdfDictionary pageDict = reader.getPageN(curPageNum);
// pdf rects are stored as [llx, lly, urx, ury].
// X increases to the right, Y increases upward.
// Note that the origin doesn't have to be 0,0.
PdfArray mediaBox = pageDict.getAsArray(PdfName.MEDIABOX);
float curBottom = mediaBox.getAsNumber(1).floatValue();
curBottom -= INCHES_TO_ADD * POINTS_PER_INCH;
mediaBox.set(1, new PdfNumber(curBottom));
}
stamper.close(); // throws
除了媒体中,您可能还需要修改裁剪框,使用相同的“得矩形,调整底”技术。请注意,您的PDF中可能存在多个其他页面框,可能需要或可能不需要修改...“艺术框”,“修剪框”,“流血框”。我可能已经忘记了一两个。
这几乎肯定会导致底部Y坐标[s]的负值。如果您的PDF是由软件的一小部分处理,这可能是一个问题。这将是他们软件中的一个错误,而不是这个过程。但是,如果你需要解决这样的问题,亨利的代码将做到这一点,产生0,0作为左下角的页面。虽然使用iText编写的软件可能不那么精明,但Adobe不会眨眼睛,iText本身也不会。
感谢您的支持。始终善于学习使用CF中的iText的新方法。 – Leigh 2010-11-03 20:00:18
- 1. 如何调整现有的pdf页面大小
- 2. 使用Ghostscript调整PDF大小
- 3. 使用Image.getInstance调整pdf图像大小
- 4. 如何使用iTextSharp调整pdf的大小
- 5. 用Java调整图像大小。如何调整大小
- 6. 如何使用CSS调整svg大小?
- 7. 如何使用jQuery调整大小来调整iFrame中的元素大小?
- 8. 使用jQuery调整大小后调整大小后的宽度
- 9. 如何使用jQuery来调整其大小的div大小?
- 10. 如何在调整列大小时调整dxDataGrid的大小
- 11. 如何在调整图像大小时调整图像大小使用drawImage
- 12. 如何使用调整大小栏来处理大小调整事件?
- 13. 如何在调整JFrame大小时调整组件大小?使用空布局
- 14. 调整大小所有使用jQuery
- 15. jquery调整大小只有有时在窗口调整大小
- 16. Firefox 55.03调整大小使用硒自动化调整大小
- 17. 使用JQuery调整窗口大小调整CSS字体大小
- 18. 如何调整ScrollPane的大小 - 我调整了代码的大小,但没有调整。有什么建议么?
- 19. 使用Ghostscript调整多页混合格式PDF的大小?
- 20. 如何调整div时,浏览器调整大小使用javascript
- 21. 如何调整使用Illustrator在R中生成的pdf图形的大小
- 22. 如何在调整大小时调整画布大小?
- 23. 如何在调整窗口大小时调整图像大小?
- 24. 如何传播subview调整大小为superview调整大小?
- 25. 如何调整SVG大小?
- 26. 如何调整IFRAME大小?
- 27. XImage - 如何调整大小?
- 28. 如何调整大小TTTableSubtitleItemCell
- 29. 如何使slick2d可调整大小
- 30. 如何使div可调整大小
我打开的PDF基本上是一个大图形。目前8.5x11,客户想在底部添加一个额外的3“来打印详细信息... – 2010-11-03 17:53:03
它可能仍然工作,从8.5x14空白PDF开始? – Henry 2010-11-03 18:01:05
好吧,不知道我是否让我的最终结果清晰。 1)我有一个8.5x11 PDF我从客户 2接收),我需要做出PDF 8.5x14 3)我需要添加一些页脚文本,我需要在底部3" 这么加,什么我已经完成了(根据您的建议)创建一个空白的8.5x14 PDF 然后,我阅读原始PDF并创建我的页脚文本。但对于DDX中的Watermark,我只能看到如何将文本叠加到现有的PDF上,而不是来自另一个PDF中的内容(如我的原始文件中的内容)。 所以我最终得到的是1个最终的PDF,但有2页,1页是8.5×11的页脚文本和第2页是空白的8.5x14 – 2010-11-03 18:42:12