回答
不知道,如果它的工作原理,但這裏是我的發現
您可以使用適當的 頁面大小的空白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