2015-03-01 4 views
1

После поворота на портретный вид, как я могу обеспечить, чтобы все содержимое было видимым (в пределах границ страницы)?Поворот PDF без усечения содержимого с помощью PDFsharp

PDFsharp обрезает мою страницу при повороте на +90 градусов, но не при повороте на -90 градусов.

PdfDocument outputDocument = new PdfDocument(); 
XPdfForm old = XPdfForm.FromFile(in_filename); 
PdfPage newP = outputDocument.AddPage(); 

if (old.Page.Orientation == PageOrientation.Landscape) 
{ 
    old.Page.Rotate= (old.Page.Rotate - 90) % 360; 
    old.Page.Orientation = PageOrientation.Portrait; 
} 

newP.Height = old.Page.Height; 
newP.Width = old.Page.Width; 

// Get a graphics object for page1 
XGraphics gfx = XGraphics.FromPdfPage(newP); 

// Draw the page identified by the page number like an image 
gfx.DrawImage(old, new XRect(0, 0, old.PointWidth, old.PointHeight)); 

Вышеуказанные работы в течение нескольких испытаний PDF случаев, но я скептически это совпадение/удача

Я использую PDFsharp 1,50 бету.

ответ

1

Существует известная проблема с PDFharp 1.50 beta относительно импорта вращающихся PDF-файлов. Эта проблема все еще находится на стадии расследования.

PDF-файлы имеют разные варианты, поэтому очень сложно обеспечить, чтобы код работал во всех случаях.

+0

спасибо. К большому огорчению, я закончил тем, что не смог надежно масштабировать pdf-файлы, используя PDFsharp или PDFclown. Я закончил использование itextsharp: http://shihamsamsudeen.blogspot.com/2010/06/itextsharp-read-existing-pdf-resize-it.html – ecoe