La conversione da immagini a PDF è uno scenario importante e utile per le applicazioni di elaborazione dei file. In questo articolo impareremo a convertire immagini JPG, PNG, TIFF, EMF, WMF e BMP in PDF utilizzando C# o VB.NET. Di seguito sono riportati i passaggi di installazione e alcuni dei possibili casi d’uso per la conversione delle immagini:

C# Image to PDF Converter API - Installazione

Eseguiremo questi formati di immagine in conversione PDF utilizzando l’API Aspose.PDF for .NET. Puoi scaricarlo dalla sezione Rilasci o tramite la NuGet Gallery con il seguente comando:

Install-Package Aspose.Pdf -Version 20.9.0

Quindi l’API è stata installata con successo ormai. Passiamo all’esplorazione di diversi casi d’uso:

Converti JPG in PDF con C#

Puoi convertire facilmente un’immagine JPG in PDF seguendo questi passaggi:

  1. Inizializza l’oggetto della classe Document
  2. Aggiungi una nuova Pagina al documento PDF
  3. Carica l’immagine JPG e aggiungi al paragrafo
  4. Salva PDF di output

Il frammento di codice seguente mostra come convertire l’immagine JPG in PDF usando C#:

// Carica il file JPG di input
String path = dataDir + "Aspose.jpg";

// Inizializza il nuovo documento PDF
Document doc = new Document();

// Aggiungi una pagina vuota in un documento vuoto
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);

// Aggiungi un'immagine su una pagina
page.Paragraphs.Add(image);

// Salva il file PDF di output
doc.Save(dataDir + "ImagetoPDF.pdf");

Di seguito è riportato lo screenshot della conversione da JPG a PDF:

Immagine in PDF

Tuttavia, in questa schermata, puoi notare che l’immagine viene convertita in una pagina PDF, ma le dimensioni della pagina e i margini predefiniti vengono applicati nel documento PDF di output. L’API Aspose.PDF for .NET ti consente di controllare le dimensioni della pagina e il margine che ti aiutano a creare PDF esattamente della stessa dimensione delle dimensioni dell’immagine. Procediamo ad esplorare questa caratteristica:

Converti immagine in PDF con la stessa altezza e larghezza della pagina

Continuando questo esempio dal caso d’uso sopra, poiché puoi notare dimensioni della pagina più grandi nello screenshot sopra. Impariamo come convertire un’immagine in PDF con la stessa altezza e larghezza della pagina. Otterremo le dimensioni dell’immagine e di conseguenza imposteremo le dimensioni della pagina del documento PDF con i passaggi seguenti:

  1. Carica il file immagine di input
  2. Ottieni l’altezza e la larghezza dell’immagine
  3. Imposta altezza, larghezza e margini di una pagina
  4. Salva il file PDF di output

Il seguente frammento di codice mostra come convertire un’immagine in PDF con la stessa altezza e larghezza della pagina usando C#:

// Carica il file immagine JPG di input
String path = dataDir + "Aspose.jpg";
System.Drawing.Image srcImage = System.Drawing.Image.FromFile(path);

// Leggi Altezza dell'immagine di input
int h = srcImage.Height;

// Leggi Altezza dell'immagine di input
int w = srcImage.Width;

// Inizializza un nuovo documento PDF
Document doc = new Document();

// Aggiungi una pagina vuota
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);

// Imposta le dimensioni e i margini della pagina
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);

// Salva il file PDF di output
doc.Save(dataDir + "ImagetoPDF_HeightWidth.pdf");

Quindi puoi notare la differenza delle dimensioni della pagina che sono state create con lo snippet di codice aggiornato:

Infine, puoi notare che le dimensioni della pagina sono esattamente simili in base alle dimensioni dell’immagine di input e non ci sono più margini di pagina predefiniti impostati ora.

Converti PNG in PDF usando C#

Il formato immagine PNG è popolare per le sue caratteristiche rispetto alle immagini JPG. Ad esempio, le immagini PNG supportano la trasparenza. Innanzitutto, convertiamo PNG in PDF con i passaggi seguenti:

  1. Carica l’immagine PNG di input
  2. Leggi i valori di altezza e larghezza
  3. Crea un nuovo documento e aggiungi Pagina
  4. Imposta le dimensioni della pagina
  5. Salva file di output

Inoltre, il frammento di codice seguente mostra come convertire PNG in PDF con C# nelle tue applicazioni .NET:

// Carica il file PNG di input
String path = dataDir + "Aspose.png";
System.Drawing.Image srcImage = System.Drawing.Image.FromFile(path);
int h = srcImage.Height;
int w = srcImage.Width;

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

// Imposta le dimensioni della pagina
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);

// Salva PDF di output
doc.Save(dataDir + "ImagetoPDF.pdf");

Converti TIFF in PDF usando C#

Un’immagine TIFF è diversa da JPEG, PNG o altri formati convenzionali in modo tale che un’immagine TIFF può contenere più fotogrammi con immagini diverse. È supportato anche il formato di file Aspose.PDF, sia che si tratti di un’immagine TIFF a fotogramma singolo oa più fotogrammi. Quindi puoi convertire l’immagine TIFF in PDF nelle tue applicazioni .NET. Pertanto, prenderemo in considerazione un esempio di conversione di un’immagine TIFF multipagina in un documento PDF multipagina con i passaggi seguenti:

  1. Istanziare un’istanza della classe Document.
  2. Carica l’immagine TIFF di input
  3. Ottieni FrameDimension dei frame
  4. Aggiungi una nuova pagina per ogni fotogramma
  5. Infine, salva le immagini nelle pagine PDF

Inoltre, il seguente frammento di codice mostra come convertire un’immagine TIFF multipagina o multiframe in PDF con C#:

// Inizializza nuovo documento
Document pdf = new Document();

//Carica l'immagine TIFF nello stream
MemoryStream ms = new MemoryStream();
new FileStream(dataDir + @"Aspose.tiff", FileMode.Open).CopyTo(ms);
Bitmap myimage = new Bitmap(ms);
// Converti TIFF multipagina o multi frame in PDF
FrameDimension dimension = new FrameDimension(myimage.FrameDimensionsList[0]);
int frameCount = myimage.GetFrameCount(dimension);

// Scorri ogni fotogramma
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);
}

// Salva il file PDF di output
pdf.Save(dataDir + "TifftoPDF.pdf");

Converti immagine EMF in PDF usando C#

Le immagini EMF, note anche come Enhanced Metafile Format, sono in realtà immagini indipendenti dal dispositivo. Inoltre, puoi convertire un’immagine EMF in PDF utilizzando i passaggi seguenti:

  1. Innanzitutto, inizializza l’oggetto classe Document.
  2. Carica file immagine EMF
  3. Aggiungi l’immagine EMF caricata a una Pagina
  4. Salva documento PDF

Inoltre, il seguente frammento di codice mostra come convertire un EMF in PDF con C# nel frammento di codice .NET:

// Inizializza il nuovo documento PDF
var doc = new Document();

// Specificare il percorso del file immagine EMF di input
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);

// Specificare le proprietà della dimensione della pagina
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);

//Salva il documento PDF di output
doc.Save(dataDir + "EMFtoPDF.pdf");

Converti BMP in PDF con C#

Le immagini BMP sono immagini bitmap che puoi convertire in PDF con Aspose.PDF per .NET API. Pertanto, puoi seguire i seguenti passaggi per convertire le immagini BMP:

  1. Inizializza un nuovo documento
  2. Carica l’immagine BMP di input
  3. Infine, salva il file PDF di output

Quindi il seguente frammento di codice segue questi passaggi e mostra come convertire BMP in PDF usando C#:

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

    // Carica un file immagine BMP di esempio
    image.File = dataDir + @"Sample.bmp";
    pdfDocument.Pages[1].Paragraphs.Add(image);

    // Salva il documento PDF di output
    pdfDocument.Save(dataDir + @"BMPtoPDF.pdf");
}

Conclusione

Dopotutto, abbiamo esplorato la conversione di immagini in PDF da diversi aspetti utilizzando C#. Sono state discusse in dettaglio diverse conversioni tra cui JPG, PNG, TIFF, EMF e BMP in PDF. Inoltre, abbiamo imparato come migliorare il rendering dell’immagine in PDF impostando le dimensioni e i margini della pagina. Inoltre, se hai ancora domande o domande, contattaci al Forum di supporto gratuito.

Guarda anche