ITEXTSHARP를 사용하여 다른 PDF에서 좌표 시스템 및 변위 된 텍스트 문제

StackOverflow https://stackoverflow.com/questions/863095

문제

ItextSharp 및 .NET 3.5 SP1 (C#, 추측 할 수있는대로)으로 작업하고 있으며 PdfStamper 수업. 이제 두 가지 문제가 있습니다.

좌표계 변환

내가 알 수 있듯이, 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입니다.

alt text

이것은 itextsharp에서 정확히 동일한 좌표를 사용하여 생성 된 두 번째 PDF입니다.

alt text

모든 도움이 감사합니다.

도움이 되었습니까?

해결책

그러나 문제는 다음과 같습니다. System.Drawing.Drawing2d 어셈블리가 없습니다! 이 어셈블리가 떨어 졌습니까 아니면 무슨 일이 있었습니까? ItextSharp의 좌표를 밀리미터로 변환하기 위해 무엇을 할 수 있습니까? 내가 여기서 잘못된 길을 가고 있습니까?

http://msdn.microsoft.com/en-us/library/system.drawing.drawing2d.matrix.aspx (System.Drawing.dll)

다른 팁

좋아, 동일한 좌표가 사용 되었음에도 불구하고 텍스트가 변위되는 두 번째 문제를 해결했습니다.

결과적으로, 첫 번째 PDF에는 가시 불가능한 트리밍 공간이 포함되었지만 두 번째 PDF는 그렇지 않았습니다. 트리밍 공간이 보이지 않기 때문에 PDF 제작자를 사용하여보기 공간이 자르었지만 나타나는 것처럼 트리밍 공간이 여전히 존재하고 좌표를 위해 계산되었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top