Lavora con le immagini in PDF C#

Un’immagine vale più di mille parole. Pertanto, le immagini e la grafica svolgono un ruolo importante in PDF così come in altri documenti. Poiché il PDF è diventato uno dei formati di file più popolari e ampiamente utilizzati, questo articolo illustra come manipolare le immagini nei file PDF a livello di codice. Più precisamente, imparerai come aggiungere, estrarre, rimuovere e sostituire immagini da file PDF in C# .NET.

API C# per aggiungere, rimuovere e sostituire immagini in PDF - Download gratuito

Aspose.PDF for .NET è una libreria di classi C# che consente di creare e manipolare documenti PDF dall’interno delle applicazioni .NET. Utilizzando l’API, puoi eseguire facilmente le funzionalità di automazione PDF di base e avanzate. Inoltre, puoi manipolare le immagini nei file PDF esistenti. L’API può essere scaricata come DLL o installata tramite NuGet.

PM> Install-Package Aspose.Pdf

Aggiungi immagine in un file PDF in C# .NET

Di seguito sono riportati i passaggi per aggiungere un’immagine a un file PDF utilizzando Aspose.PDF per .NET.

  • Usa la classe Document per crearne uno nuovo o caricare un file PDF esistente.
  • Ottieni il riferimento della pagina desiderata nell’oggetto Pagina.
  • Aggiungi l’immagine alla raccolta Risorse della pagina.
  • Utilizzare i seguenti operatori per posizionare l’immagine nella pagina:
    • GSave operator to save the current graphical state.
    • Concatenate Matrix operator to specify where the image is to be placed.
    • Fare operator to draw the image on the page.
    • GRstore operator to save the updated graphical state.
  • Salvare il file PDF aggiornato utilizzando il metodo Document.Save(String).

L’esempio di codice seguente mostra come aggiungere un’immagine a un file PDF usando C#.

// Per esempi completi e file di dati, visitare https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Apri documento
Document pdfDocument = new Document("AddImage.pdf");

// Imposta le coordinate
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;

// Ottieni la pagina in cui è necessario aggiungere l'immagine
Page page = pdfDocument.Pages[1];

// Carica l'immagine nello stream
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);

// Aggiungi un'immagine alla raccolta Immagini delle risorse della pagina
page.Resources.Images.Add(imageStream);

// Utilizzo dell'operatore GSave: questo operatore salva lo stato grafico corrente
page.Contents.Add(new Aspose.Pdf.Operators.GSave());

// Crea oggetti Rettangolo e Matrice
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

// Utilizzo dell'operatore ConcatenateMatrix (matrice concatenata): definisce come deve essere posizionata l'immagine
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];

// Usando l'operatore Do: questo operatore disegna l'immagine
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));

// Utilizzo dell'operatore GRestore: questo operatore ripristina lo stato grafico
page.Contents.Add(new Aspose.Pdf.Operators.GRestore());

// Salva documento aggiornato
pdfDocument.Save("AddImage_out.pdf");

Estrai immagini da PDF in C#

Nel caso in cui desideri estrarre tutte le immagini da un file PDF, puoi farlo seguendo i passaggi seguenti.

L’esempio di codice seguente mostra come estrarre immagini da PDF usando C#.

// Per esempi completi e file di dati, visitare https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Apri documento
Document pdfDocument = new Document("ExtractImages.pdf");

// Estrarre un'immagine particolare
XImage xImage = pdfDocument.Pages[1].Resources.Images[1];

FileStream outputImage = new FileStream("output.jpg", FileMode.Create);

// Salva immagine di output
xImage.Save(outputImage, ImageFormat.Jpeg);
outputImage.Close();

Rimuovere le immagini dal PDF in C#

Una volta che hai accesso alle risorse di una pagina in PDF, puoi rimuovere le immagini da essa. Di seguito sono riportati i passaggi per rimuovere le immagini da un file PDF utilizzando C#.

L’esempio di codice seguente mostra come rimuovere le immagini da un PDF usando C#.

// Per esempi completi e file di dati, visitare https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Apri documento
Document pdfDocument = new Document("DeleteImages.pdf");

// Elimina un'immagine particolare
pdfDocument.Pages[1].Resources.Images.Delete(1);

// Salva file PDF aggiornato
pdfDocument.Save("output.pdf");

Sostituisci immagine in PDF in C#

Aspose.PDF per .NET consente anche di sostituire una particolare immagine nel PDF. Per questo, puoi sostituire l’immagine nella raccolta di immagini della pagina. Di seguito sono riportati i passaggi per sostituire un’immagine in PDF utilizzando C#.

  • Carica il file PDF utilizzando la classe Documento.
  • Sostituire l’immagine desiderata utilizzando il metodo [Document.Pages1.Resources.Images.Replace(Int32, Stream, Int32, Boolean)]24.
  • Salvare il file PDF aggiornato utilizzando il metodo Document.Save(String).

L’esempio di codice seguente mostra come sostituire un’immagine in PDF usando C#.

// Per esempi completi e file di dati, visitare https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Apri documento
Document pdfDocument = new Document("input.pdf");

// Sostituisci un'immagine particolare
pdfDocument.Pages[1].Resources.Images.Replace(1, new FileStream("lovely.jpg", FileMode.Open));

// Salva file PDF aggiornato
pdfDocument.Save("output.pdf");

API C# .NET PDF - Ottieni una licenza gratuita

Puoi ottenere una licenza temporanea gratuita per provare l’API senza limitazioni di valutazione.

Conclusione

Le immagini e gli oggetti grafici sono elementi importanti dei documenti PDF. Pertanto, in questo articolo, abbiamo spiegato come manipolare le immagini in un PDF utilizzando C# .NET API. Il tutorial passo passo e gli esempi di codice hanno mostrato come aggiungere, estrarre, rimuovere e sostituire immagini nei file PDF in C#. Puoi esplorare di più sull’API C# PDF utilizzando la documentazione.

Guarda anche