La conversión de imágenes a PDF es un escenario importante y útil para las aplicaciones de procesamiento de archivos. En este artículo, aprenderemos a convertir imágenes JPG, PNG, TIFF, EMF, WMF y BMP a PDF usando C# o VB.NET. Los siguientes son los pasos de instalación y algunos de los posibles casos de uso para convertir imágenes:

API de conversión de imagen a PDF de C#: instalación

Realizaremos la conversión de estos formatos de imagen a PDF utilizando Aspose.PDF for .NET API. Puede descargarlo desde la sección Lanzamientos o a través de la Galería NuGet con el siguiente comando:

Install-Package Aspose.Pdf -Version 20.9.0

Entonces, la API ya se ha instalado correctamente. Pasemos a explorar diferentes casos de uso:

Convierte JPG a PDF con C#

Puede convertir fácilmente una imagen JPG a PDF siguiendo estos pasos:

  1. Inicializar objeto de la clase Document
  2. Agregar una nueva página al documento PDF
  3. Cargue la imagen JPG y agréguela al párrafo
  4. Guardar PDF de salida

El fragmento de código a continuación muestra cómo convertir una imagen JPG a PDF usando C#:

// Cargar archivo JPG de entrada
String path = dataDir + "Aspose.jpg";

// Inicializar nuevo documento PDF
Document doc = new Document();

// Agregar página vacía en documento vacío
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);

// Agregar imagen en una página
page.Paragraphs.Add(image);

// Guardar archivo PDF de salida
doc.Save(dataDir + "ImagetoPDF.pdf");

A continuación se muestra la captura de pantalla de la conversión de JPG a PDF:

Imagen a PDF

Sin embargo, en esta captura de pantalla, puede observar que la imagen se convierte en una página PDF, pero las dimensiones y los márgenes de página predeterminados se aplican en el documento PDF de salida. Aspose.PDF for .NET La API le permite controlar las dimensiones de la página y el margen que lo ayudan a crear exactamente el mismo tamaño de PDF que las dimensiones de la imagen. Procedamos a explorar esta función:

Convertir imagen a PDF con el mismo alto y ancho de página

Continuando con este ejemplo del caso de uso anterior, como puede notar un tamaño de página más grande en la captura de pantalla anterior. Aprendamos cómo convertir una imagen a PDF con el mismo alto y ancho de la página. Obtendremos las dimensiones de la imagen y, en consecuencia, estableceremos las dimensiones de la página del documento PDF con los siguientes pasos:

  1. Cargar archivo de imagen de entrada
  2. Obtener la altura y el ancho de la imagen.
  3. Establecer alto, ancho y márgenes de una página
  4. Guarde el archivo PDF de salida

El siguiente fragmento de código muestra cómo convertir una imagen a PDF con el mismo alto y ancho de página usando C#:

// Cargar archivo de imagen JPG de entrada
String path = dataDir + "Aspose.jpg";
System.Drawing.Image srcImage = System.Drawing.Image.FromFile(path);

// Leer Altura de la imagen de entrada
int h = srcImage.Height;

// Leer Altura de la imagen de entrada
int w = srcImage.Width;

// Inicializar un nuevo documento PDF
Document doc = new Document();

// Añadir una página vacía
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);

// Establecer las dimensiones y los márgenes de la página
page.PageInfo.Height = (h);
page.PageInfo.Width = (w);
page.PageInfo.Margin.Bottom = (0);
page.PageInfo.Margin.Top = (0);
page.PageInfo.Margin.Right = (0);
page.PageInfo.Margin.Left = (0);
page.Paragraphs.Add(image);

// Guardar archivo PDF de salida
doc.Save(dataDir + "ImagetoPDF_HeightWidth.pdf");

Entonces puede notar la diferencia de las dimensiones de la página que se han creado con el fragmento de código actualizado:

Finalmente, puede notar que el tamaño de la página es exactamente similar de acuerdo con las dimensiones de la imagen de entrada, y ahora no se establecen más márgenes de página predeterminados.

Convierte PNG a PDF usando C#

El formato de imagen PNG es popular debido a sus características en comparación con las imágenes JPG. Por ejemplo, las imágenes PNG admiten transparencia. En primer lugar, vamos a convertir PNG a PDF con los siguientes pasos:

  1. Cargar imagen PNG de entrada
  2. Leer valores de alto y ancho
  3. Crear nuevo documento y agregar página
  4. Establecer dimensiones de página
  5. Guardar archivo de salida

Además, el fragmento de código a continuación muestra cómo convertir PNG a PDF con C# en sus aplicaciones .NET:

// Cargar archivo PNG de entrada
String path = dataDir + "Aspose.png";
System.Drawing.Image srcImage = System.Drawing.Image.FromFile(path);
int h = srcImage.Height;
int w = srcImage.Width;

// Inicializar nuevo documento
Document doc = new Document();
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);

// Establecer dimensiones de página
page.PageInfo.Height = (h);
page.PageInfo.Width = (w);
page.PageInfo.Margin.Bottom = (0);
page.PageInfo.Margin.Top = (0);
page.PageInfo.Margin.Right = (0);
page.PageInfo.Margin.Left = (0);
page.Paragraphs.Add(image);

// Guardar PDF de salida
doc.Save(dataDir + "ImagetoPDF.pdf");

Convierte TIFF a PDF usando C#

Una imagen TIFF es diferente de los formatos JPEG, PNG u otros formatos convencionales en el sentido de que una imagen TIFF puede contener varios cuadros con diferentes imágenes. El formato de archivo Aspose.PDF también es compatible, ya sea una imagen TIFF de un solo cuadro o de varios cuadros. Para que pueda convertir la imagen TIFF a PDF en sus aplicaciones .NET. Por lo tanto, consideraremos un ejemplo de conversión de una imagen TIFF de varias páginas a un documento PDF de varias páginas con los siguientes pasos:

  1. Crear una instancia de la clase Document
  2. Cargar imagen TIFF de entrada
  3. Obtener FrameDimension de los marcos
  4. Agregar nueva página para cada marco
  5. Finalmente, guarde las imágenes en páginas PDF

Además, el siguiente fragmento de código muestra cómo convertir una imagen TIFF de varias páginas o varios cuadros a PDF con C#:

// Inicializar nuevo documento
Document pdf = new Document();

//Cargue la imagen TIFF en la secuencia
MemoryStream ms = new MemoryStream();
new FileStream(dataDir + @"Aspose.tiff", FileMode.Open).CopyTo(ms);
Bitmap myimage = new Bitmap(ms);
// Convierta TIFF de varias páginas o varios cuadros a PDF
FrameDimension dimension = new FrameDimension(myimage.FrameDimensionsList[0]);
int frameCount = myimage.GetFrameCount(dimension);

// Iterar a través de cada marco
for (int frameIdx = 0; frameIdx <= frameCount - 1; frameIdx++)
{
    Page sec = pdf.Pages.Add();

    myimage.SelectActiveFrame(dimension, frameIdx);

    MemoryStream currentImage = new MemoryStream();
    myimage.Save(currentImage, ImageFormat.Tiff);

    Aspose.Pdf.Image imageht = new Aspose.Pdf.Image();
    imageht.ImageStream = currentImage;
    sec.Paragraphs.Add(imageht);
}

// Guardar archivo PDF de salida
pdf.Save(dataDir + "TifftoPDF.pdf");

Convertir imagen EMF a PDF usando C#

Las imágenes EMF, también conocidas como formato de metarchivo mejorado, son en realidad imágenes independientes del dispositivo. Además, puede convertir EMF a imagen PDF siguiendo los pasos a continuación:

  1. En primer lugar, inicialice el objeto de clase Document
  2. Cargar archivo de imagen EMF
  3. Agregar la imagen EMF cargada a una página
  4. Guardar documento PDF

Además, el siguiente fragmento de código muestra cómo convertir un EMF a PDF con C# en su fragmento de código .NET:

// Inicializar nuevo documento PDF
var doc = new Document();

// Especifique la ruta del archivo de imagen EMF de entrada
var imageFile = dataDir + "drawing.emf";
var page = doc.Pages.Add(); 
string file = imageFile;
FileStream filestream = new FileStream(file, FileMode.Open, FileAccess.Read);
BinaryReader reader = new BinaryReader(filestream);
long numBytes = new FileInfo(file).Length;
byte[] bytearray = reader.ReadBytes((int)numBytes);
Stream stream = new MemoryStream(bytearray);
var b = new Bitmap(stream);

// Especificar las propiedades de las dimensiones de la página
page.PageInfo.Margin.Bottom = 0;
page.PageInfo.Margin.Top = 0;
page.PageInfo.Margin.Left = 0;
page.PageInfo.Margin.Right = 0;
page.PageInfo.Width = b.Width;
page.PageInfo.Height = b.Height;
var image = new Aspose.Pdf.Image();
image.File = imageFile;
page.Paragraphs.Add(image);

//Guardar documento PDF de salida
doc.Save(dataDir + "EMFtoPDF.pdf");

Convierte BMP a PDF con C#

Las imágenes BMP son imágenes de Bitmap que puede convertir a PDF con Aspose.PDF for .NET API. Por lo tanto, puede seguir los siguientes pasos para convertir imágenes BMP:

  1. Inicializar un nuevo documento
  2. Cargar imagen BMP de entrada
  3. Finalmente, guarde el archivo PDF de salida

Entonces, el siguiente fragmento de código sigue estos pasos y muestra cómo convertir BMP a PDF usando C#:

Initialize empty PDF document
using (Document pdfDocument = new Document())
{
    pdfDocument.Pages.Add();
    Aspose.Pdf.Image image = new Aspose.Pdf.Image();

    // Cargar archivo de imagen BMP de muestra
    image.File = dataDir + @"Sample.bmp";
    pdfDocument.Pages[1].Paragraphs.Add(image);

    // Guardar documento PDF de salida
    pdfDocument.Save(dataDir + @"BMPtoPDF.pdf");
}

Conclusión

Después de todo, hemos explorado la conversión de imágenes a PDF desde diferentes aspectos usando C#. Se han discutido en detalle diferentes conversiones, incluidas la conversión de JPG, PNG, TIFF, EMF y BMP a PDF. Además, hemos aprendido cómo mejorar la representación de la imagen en PDF al configurar el tamaño de la página y los márgenes. Además, si aún tiene alguna consulta o pregunta, comuníquese con nosotros en Foro de soporte gratuito.

Ver también