hier ist mein Code. Es fügt korrekt die Bilder hinzu, die ich will und alles funktioniert außer, dass die Bilder ihre native Auflösung verwenden, wenn das Bild also groß ist, wird es abgeschnitten, um die Seite anzupassen.Hinzufügen eines Bildes zu einem PDF mit iTextSharp und skalieren Sie es richtig
Gibt es eine Möglichkeit, das Bild wie eine Zoom-Funktion zu verwenden, um zu dehnen, aber auch das Seitenverhältnis beizubehalten? Da muss etwas sein, dass ich dort vermisse. : P
Hier ist ein Bild, das Problem zu veranschaulichen:
using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.Drawing;
using System.Collections.Generic;
namespace WinformsPlayground
{
public class PDFWrapper
{
public void CreatePDF(List<System.Drawing.Image> images)
{
if (images.Count >= 1)
{
Document document = new Document(PageSize.LETTER);
try
{
// step 2:
// we create a writer that listens to the document
// and directs a PDF-stream to a file
PdfWriter.GetInstance(document, new FileStream("Chap0101.pdf", FileMode.Create));
// step 3: we open the document
document.Open();
foreach (var image in images)
{
iTextSharp.text.Image pic = iTextSharp.text.Image.GetInstance(image, System.Drawing.Imaging.ImageFormat.Jpeg);
document.Add(pic);
document.NewPage();
}
}
catch (DocumentException de)
{
Console.Error.WriteLine(de.Message);
}
catch (IOException ioe)
{
Console.Error.WriteLine(ioe.Message);
}
// step 5: we close the document
document.Close();
}
}
}
}
in Ihrem Fall So wird es sein: pic.ScaleAbsolute (Breite Höhe); – Hps
Diese Methode nützt nichts, weil sie absolut skaliert ist. Es dehnt das Bild und verzerrt es. Ich brauche einen Weg, um es größer zu bekommen, während das Seitenverhältnis beibehalten und im Dokument gehalten wird. –
Hier ist ein Artikel über die Bildauflösung in iTextSharp. Ich habe es nicht benutzt. Aber du kannst es versuchen. http://www.mikesdotnetting.com/Article/87/iTextSharp-Working-with-images – Hps