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# .NET per lavorare con le immagini in PDF
- Aggiungi un’immagine in un PDF usando C#
- Estrai immagini da un PDF usando C#
- Rimuovere le immagini da un PDF usando C#
- Sostituisci un’immagine in un PDF usando C#
- Ottieni una licenza gratuita
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.
- Usa la classe Document per caricare un file PDF esistente.
- Ottieni l’immagine desiderata nell’oggetto XImage dalla raccolta Resources di una pagina particolare usando l’indice.
- Salva l’immagine estratta nel formato desiderato usando il metodo XImage.Save(FileStream, ImageFormat).
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#.
- Carica il file PDF utilizzando la classe Documento.
- Rimuovere le immagini utilizzando uno dei seguenti metodi.
- Elimina() - Delete all images.
- Elimina(Int32) - Delete image by index.
- Elimina(Stringa) - Delete image by name.
- Salvare il file PDF aggiornato utilizzando il metodo Document.Save(String).
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.