[英]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.