Genera miniature per file PDF in C#

Potrebbe essere necessario generare miniature durante l’incorporamento dei documenti PDF in un’applicazione web. Inoltre, le miniature delle pagine sono necessarie durante la creazione di un visualizzatore PDF. Per tali scenari, questo articolo illustra come generare miniature di un file PDF a livello di codice in C# .NET. Tratteremo esplicitamente come creare una miniatura di una pagina particolare o di tutte le pagine in un file PDF.

API C# .NET per generare miniature di PDF

Aspose.PDF for .NET è una libreria di classi C# che consente di creare e manipolare documenti PDF all’interno delle applicazioni .NET. Utilizzando l’API, puoi eseguire facilmente operazioni di automazione PDF di base e avanzate. Useremo questa API per generare miniature di un file PDF. L’API può essere scaricata come DLL o installata tramite NuGet.

PM> Install-Package Aspose.Pdf

Genera una miniatura di un file PDF in C# .NET

Di solito, devi generare una singola immagine in miniatura per un documento PDF. La pagina per la miniatura potrebbe essere la copertina o qualsiasi altra pagina a tua scelta. Di seguito sono riportati i passaggi per generare una miniatura della pagina desiderata di un PDF in C#.

  • Carica il file PDF utilizzando la classe Document.
  • Ottieni un riferimento della pagina desiderata dalla raccolta Document.Pages.
  • Crea un nuovo FileStream per il file immagine.
  • Crea un’istanza della classe Resolution per impostare la risoluzione dell’immagine in miniatura.
  • Crea un’istanza di JpegDevice e imposta l’altezza, la larghezza, la risoluzione e la qualità dell’immagine.
  • Genera miniatura usando il metodo JpegDevice.Process(Page, FileStream).
  • Chiudi il flusso di file.

L’esempio di codice seguente mostra come generare una miniatura di un file PDF in C#.

// Apri documento
Document pdfDocument = new Document("file.pdf");

int pageIndex = 0;

// Ottieni la pagina dell'indice desiderato dalla raccolta
var page = pdfDocument.Pages[pageIndex];

// Crea flusso per file immagine
using (FileStream imageStream = new FileStream("Thumbanils_" + page.Number + ".jpg", FileMode.Create))
{
    // Crea oggetto Risoluzione
    Resolution resolution = new Resolution(300);

    // Crea un'istanza di JpegDevice e imposta altezza, larghezza, risoluzione e qualità dell'immagine
    JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);

    // Converti una pagina particolare e salva l'immagine per lo streaming
    jpegDevice.Process(page, imageStream);

    // Chiudi flusso
    imageStream.Close();
}

Genera miniature di tutte le pagine in PDF in C#

Di seguito sono riportati i passaggi per generare miniature per tutte le pagine in PDF in C#.

  • Carica il file PDF utilizzando la classe Document.
  • Scorri tutte le pagine in PDF utilizzando la raccolta Document.Pages.
  • In ogni iterazione, eseguire le seguenti operazioni:
    • Crea un nuovo FileStream per il file immagine.
    • Crea un’istanza della classe Resolution per impostare la risoluzione dell’immagine in miniatura.
    • Crea un’istanza di JpegDevice e imposta l’altezza, la larghezza, la risoluzione e la qualità dell’immagine.
    • Genera miniatura usando il metodo JpegDevice.Process(Page, FileStream).
    • Chiudi il flusso di file.

L’esempio di codice seguente mostra come generare miniature per tutte le pagine in PDF.

// Apri documento
Document pdfDocument = new Document("file.pdf");

// Scorri le pagine
for (int pageCount = 1; pageCount <= pdfDocument.Pages.Count; pageCount++)
{
    // Crea stream per ogni immagine
    using (FileStream imageStream = new FileStream("Thumbanils_" + pageCount + ".jpg", FileMode.Create))
    {
        // Crea oggetto Risoluzione
        Resolution resolution = new Resolution(300);

        // Crea un'istanza di JpegDevice e imposta altezza, larghezza, risoluzione e qualità dell'immagine
        JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);

        // Converti una pagina particolare e salva l'immagine per lo streaming
        jpegDevice.Process(pdfDocument.Pages[pageCount], imageStream);

        // Chiudi flusso
        imageStream.Close();
    }
}

Ottieni una licenza gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare Aspose.PDF per .NET senza limitazioni di valutazione.

Conclusione

In questo articolo, hai imparato come generare miniature per file PDF in C#. Hai visto come generare una miniatura di una pagina particolare o di tutte le pagine in un file PDF. Inoltre, puoi esplorare di più sull’API C# PDF utilizzando la documentazione. In caso di domande o domande, puoi contattarci tramite il nostro forum.

Guarda anche