簡體   English   中英

使用iTextSharp在不同PDF中的坐標系和置換文本存在問題

[英]Problem with coordinate system and displaced Text in different PDFs using iTextSharp

我正在使用iTextSharp和.NET 3.5 SP1(使用C#,您可能會猜到),並使用PdfStamper類修改一些現有的PDF。 現在我有兩個問題:

轉換坐標系

如我所見,iTextSharp將(postscript?)點用作度量單位,但我想將這些坐標轉換為毫米。 現在,實現此目標的最佳方法是什么?

查看文檔可以發現以下方法:

PdfContentByte cb = new PdfContentByte();
System.Drawing.Drawing2D.Matrix scale = new System.Drawing.Drawing2D.Matrix(
    0.352777778, 0, 0.352777778, 0, 0, 0); // 1 point = 0.352777778 mm
cb.Transform(scale);

我希望我得到正確的轉換矩陣。 但是問題是:沒有System.Drawing.Drawing2D程序集! 這個程序集掉了還是發生了什么? 如何將iTextSharp的坐標轉換為毫米。 我在這里走錯路了嗎?

PDF中的文本使用相同的坐標替換為其他PDF

我注意到,在修改兩個具有相同內容的 不同 PDF文件時,會替換相同的坐標,並且文本不會放置在完全相同的位置。 是什么原因造成的,如何預防?

這是第一個PDF:

替代文字

這是第二個PDF,使用iTextSharp中完全相同的坐標創建:

替代文字

任何幫助表示贊賞。

但是問題是:沒有System.Drawing.Drawing2D程序集! 這個程序集掉了還是發生了什么? 如何將iTextSharp的坐標轉換為毫米。 我在這里走錯路了嗎?

http://msdn.microsoft.com/zh-cn/library/system.drawing.drawing2d.matrix.aspx (位於System.Drawing.dll中)

好的,我解決了第二個問題,盡管使用了相同的坐標,但文本仍被替換。

事實證明,第一個PDF包含一些不可見的修剪空間,第二個卻沒有。 修剪空間不可見,因為視圖空間是使用PDF創建器裁剪的,但是看起來修剪空間仍然存在並計算坐標。

暫無
暫無

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

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