En ciertos casos, es posible que deba convertir PNG, JPG u otros archivos de imagen en un documento PDF. Esto podría ser útil en escenarios como la conversión de páginas escaneadas de facturas a PDF. En este artículo, aprenderá cómo convertir una imagen a formato PDF en C#. Demostraremos la conversión de una imagen a un PDF y varias imágenes a un PDF mediante programación.
- API de conversión de imagen a PDF de C#
- Convertir una imagen a PDF en C#
- Convierta múltiples imágenes a un PDF en C#
C# Image to PDF Converter API - Descarga gratuita
Para la conversión de imágenes a PDF, usaremos Aspsoe.PDF para .NET. Es una potente API de PDF que le permite crear y manipular archivos PDF desde sus aplicaciones .NET. Además, proporciona conversión de ida y vuelta de alta fidelidad de archivos PDF. Puede descargar la API o instalarla mediante NuGet.
PM> Install-Package Aspose.Pdf
Convertir una imagen a PDF en C#
Primero echemos un vistazo a cómo convertir una sola imagen en un archivo PDF en C#. Los siguientes son los pasos para realizar esta operación.
- Cree una instancia de la clase Document.
- Agregue una nueva Página al documento PDF utilizando el método Document.Pages.Add() y configure las propiedades de la página.
- Cargue el archivo de imagen en un objeto FileStream.
- Agregue una nueva Image a la página usando el método Page.Paragraphs.Add(Image).
- Configure el flujo de la imagen usando la propiedad Image.ImageStream.
- Finalmente, guarde el documento PDF utilizando el método Document.Save(String).
El siguiente ejemplo de código muestra cómo convertir una imagen PNG a PDF en C#.
// Crear un nuevo documento
Document doc = new Document();
// Ruta del archivo de imagen
string imageFile = @"aspose.png";
// Agregar una página a la colección de páginas del documento
var page = doc.Pages.Add();
// Cargar imagen en flujo
FileStream imageStream = new FileStream(imageFile, FileMode.Open);
// Establezca los márgenes para que la imagen quepa, etc.
page.PageInfo.Margin.Bottom = 0;
page.PageInfo.Margin.Top = 0;
page.PageInfo.Margin.Left = 0;
page.PageInfo.Margin.Right = 0;
page.CropBox = new Aspose.Pdf.Rectangle(0, 0, 400, 400);
// Crear un objeto de imagen
Image image1 = new Image();
// Agregue la imagen a la colección de párrafos de la sección.
page.Paragraphs.Add(image1);
// Establecer el flujo de archivos de imagen
image1.ImageStream = imageStream;
// Guardar el archivo PDF resultante
doc.Save("image-to-pdf.pdf");
Convierta múltiples imágenes a un PDF en C#
Los siguientes son los pasos para convertir varias imágenes en un solo archivo PDF en C#.
- Cree una instancia de la clase Document.
- Obtenga la lista de nombres de archivos de imagen en una matriz usando el método Directory.GetFiles(string).
- Para cada archivo de imagen de la lista, haga lo siguiente:
- Agregue una nueva Página al documento PDF utilizando el método Document.Pages.Add() y configure las propiedades de la página.
- Cargue el archivo de imagen en un objeto FileStream.
- Agregue una nueva Image a la página usando el método Page.Paragraphs.Add(Image).
- Configure el flujo de la imagen usando la propiedad Image.ImageStream.
- Finalmente, guarde el documento PDF utilizando el método Document.Save(String).
El siguiente ejemplo de código muestra la conversión de múltiples imágenes a un solo PDF en C#.
// Crear un nuevo documento
Document doc = new Document();
// Acceder a los archivos de imagen en la carpeta
string[] fileList = Directory.GetFiles(@"D:/images/");
foreach (String file in fileList)
{
// Agregar una página a la colección de páginas del documento
var page = doc.Pages.Add();
// Cargar imagen en flujo
FileStream imageStream = new FileStream(file, FileMode.Open);
// Establezca los márgenes para que la imagen quepa, etc.
page.PageInfo.Margin.Bottom = 0;
page.PageInfo.Margin.Top = 0;
page.PageInfo.Margin.Left = 0;
page.PageInfo.Margin.Right = 0;
page.CropBox = new Pdf.Rectangle(0, 0, 400, 400);
// Crear un objeto de imagen
Image image1 = new Image();
// Agregue la imagen a la colección de párrafos de la sección.
page.Paragraphs.Add(image1);
// Establecer el flujo de archivos de imagen
image1.ImageStream = imageStream;
}
// Guardar el archivo PDF resultante
doc.Save("multiple-images-to-pdf.pdf");
Convertidor de imagen a PDF C#: obtenga una licencia gratuita
Puede convertir imágenes a PDF sin limitaciones de evaluación obteniendo una licencia temporal gratuita.
C# .NET PDF API - Leer más
Puede explorar más sobre Aspose.PDF for .NET usando documentación. En caso de que tenga alguna consulta, no dude en hacérnosla saber a través de nuestro foro.
Conclusión
En este artículo, ha aprendido cómo convertir una imagen a formato PDF en C#. Además, ha visto cómo convertir varias imágenes en un solo PDF mediante programación. Por lo tanto, puede realizar fácilmente cualquier tipo de conversión de imagen a PDF en su aplicación.