팩스를받을 때 자동 시스템을 통해 들어오는 PDF 문서를 데이터베이스에 유지 관리하는 데 사용할 웹 응용 프로그램을 만들고 있습니다. 사용자는 이러한 문서를 검토 할 수 있어야하며 이러한 문서로 할 수있는 일반적인 일 중 하나는 잘못된 페이지로 팩스를 넣었을 때 개별 페이지를 대칭/회전시키는 것입니다. 이것은 거의 항상 페이지의 180도 회전입니다. 나는이 일을하는 함수를 만들었지 만 작동하는 것처럼 보이지만 호출 된 것은 처음이다. 이후의이 함수 호출은 더 이상 작동하지 않습니다. 이 함수와 관련된 또 다른 이상한 점은 선택한 위치의 문서에 텍스트를 추가하는 다른 메서드가 호출된다는 것입니다. 나는 텍스트와 좌표를 전달하고, 문서의 좌표에 텍스트를 쓰고, 모든 것이 잘됩니다. 이 문제는 이면 문서가 회전 된 것입니다 (한 번만 이이됩니다). 사용자가 문서에 텍스트를 추가하려고하면 텍스트를 배치하는 좌표가 반대로 표시되고 텍스트가 거꾸로되어 있습니다.PdfSharp : 문서의 페이지 회전
이 모든 것은 궁극적으로 페이지 회전을 어떻게 든 잘못하고 있음을 나타냅니다. PDF 파일에서 페이지를 회전하는 방법에 대한 좋은 샘플을 찾지 못하는 것 같습니다. 길을 안내합니다. 따라서 어떤 지침은 대단히 도움이되며 대단히 감사하게 될 것입니다. 미리 감사드립니다. 하지만 대신에,
// This is how I'm rotating the page...
public PdfDocument FlipPage(byte[] documentSource, int pageNumber)
{
using (var stream = new MemoryStream())
{
stream.Write(documentSource, 0, documentSource.Length);
var document = PdfReader.Open(stream);
var page = document.Pages[pageNumber - 1];
page.Rotate = 180;
return document;
}
}
// This is how I'm adding text to a page...
public static void AddTextToPage(this PdfDocument document, int pageNumber, Annotation annotation)
{
var page = document.Pages[pageNumber - 1];
annotation.TargetHeight = page.Height.Value;
annotation.TargetWidth = page.Width.Value;
var graphics = XGraphics.FromPdfPage(page);
var textFormatter = new XTextFormatter(graphics);
var font = new XFont("Arial", 10, XFontStyle.Regular);
graphics.DrawString(annotation.Text, font, XBrushes.Red, new PointF((float)annotation.TargetX, (float)annotation.TargetY));
}
다음을 확인하십시오 : graphics.RotateTransform (180) –
컴파일하고 성공하지만 페이지에는 아무런 영향을 미치지 않습니다. –