2016-06-10 22 views
1

Ich benutze Itextsharp, um einige Bilder in PDF zu stellen. Einige dieser Bilder sind groß (3600h mal 2500W) und etwas klein (1000h mal 700W). Meine PDF-Seite ist 842H von 737H.ItextSharp Skalierung/Größe von Bildern in PDF

Einige dieser großen Bilder werden nicht in potrait passen, also bin ich Spiegeln von Bildern, wo die Breite> Höhe.

img.RotationDegrees = 90f; 

Nun mein Problem ist, wie maßstabs ich die Bilder, so dass sie alle Maßstab und perfekt in die Seite passen?

Ich versuchte

var scalePercent= (PDFPage.Width/img.Width) * 100; 

img.ScalePercent(scalePercent); 

aber dieses hat nicht funktioniert für die meisten Bilder verwenden, besonders kleine Bilder.

Antwort

0

Ich weiß, diese Antwort ist mega spät, aber dachte, dies kann anderen helfen, da ich das gleiche Problem hatte. Ich tat dies, dann kippen die Größe:

Document pdfDoc = new Document(PageSize.LETTER, 10f, 10f, 10f, 0f); 
pdfDoc.SetPageSize(iTextSharp.text.PageSize.LETTER.Rotate()); 
iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(image); 
img.SetAbsolutePosition(0, 0); 
img.ScaleAbsoluteHeight(pdfDoc.PageSize.Height); 
img.ScaleAbsoluteWidth(pdfDoc.PageSize.Width); 

weisen jedoch darauf hin, dass ich einen pagesize auf dem Dokument Brief setze, so zusätzliche Änderungen müssen vorgenommen werden, wenn PDF-Dateien in verschiedenen Größen zu erzeugen.

0

Sie können den Code seiner Werke in Ordnung verwenden, aber Sie benötigen einen zusätzlichen Filter wie dieser

var scalePercent = (((doc.PageSize.Width/image.Width) * 100) - 4); 
    img.ScalePercent(scalePercent); 
Verwandte Themen