aquí está mi código. Se agrega correctamente las imágenes que quiero y todo funciona excepto que las imágenes están usando su resolución nativa, por lo que si la imagen es grande se está recortando para ajustarse a la página.Agregar una imagen a un PDF usando iTextSharp y escalarla correctamente
¿Hay alguna manera de hacer que la imagen se use como una función de Zoom para estirar para ajustarse pero también mantener la relación de aspecto? Tiene que haber algo que me falta allí. : P
Aquí hay una foto para ilustrar el problema:
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();
}
}
}
}
Así, en su caso, será: pic.ScaleAbsolute (ancho, alto); – Hps
Este método no sirve porque se escala en absoluto. Estira la imagen y la distorsiona. Necesito una forma de hacerlo crecer mientras mantengo la relación de aspecto y me mantengo dentro del documento. –
Aquí hay un artículo sobre la resolución de imagen en iTextSharp. No lo he usado Pero puedes intentar. http://www.mikesdotnetting.com/Article/87/iTextSharp-Working-with-images – Hps