簡體   English   中英

IText如何在頁面上調整pdf

[英]IText How to adjust pdf on page

有沒有辦法微調精確地在IText內的頁面上打印PDF的位置?

這是我的問題:由於打印機制造商的變化或打印機的使用年限等原因,打印PDF文檔時會出現微小的變​​化。 這些變化通常非常小,但是對於2個樣品打印機(激光和相同型號和制造商),文本放置的變化在打印機之間高達1-2毫米。 這對於大多數正常打印都是好的,但是對於這個任務,這超出了可接受的公差范圍。

我對此的直覺反應是提供一些能夠對打印發生的確切位置進行微調,從而能夠解釋打印機本身的任何變化。 但是,對於發送到單個打印機的所有作業,打印似乎都是一致的。

目前,我在Adobe Acrobat Pro X中創建了一個包含表單字段的PDF,然后由java應用程序填寫並發送到打印機。

感謝您提出任何建議

我首次嘗試解決此問題的方法是嘗試更改打印機驅動程序的默認設置......不知何故。 但我無法提供任何有用的指示。

如果要調整PDF,則應該更改頁面邊界以移動內容。 例如,對於僅具有MediaBox的簡單PDF,此代碼將第一頁的內容向下移動50個單位。

PdfReader reader = new PdfReader("in.pdf");
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("out.pdf"));
PdfDictionary pagedict = reader.getPageN(1);
PdfArray mediabox = pagedict.getAsArray(PdfName.MEDIABOX);
mediabox.set(1, new PdfNumber(mediabox.getAsNumber(1).intValue()+50));
mediabox.set(3, new PdfNumber(mediabox.getAsNumber(3).intValue()+50));
stamper.close();

您必須相應地調整任何其他框(CropBox,BleedBox等)。 有關不同頁面邊界的信息,請查看PDF規范。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM