Il codice per comprimere PDF in C#

Libreria .NET ad alte prestazioni per ottimizzare PDF contenuto e dimensioni mantenendo la qualità originale e i dati di base

Questa è una soluzione professionale per comprimere PDF usando C#, F#, VB.NET. Utilizza la nostra API di ottimizzazione PDF per sviluppare software di alto livello indipendente dalla piattaforma per piattaforme .NET e .NET Core. Provalo online gratuitamente!

Visualizza lo snippet di codice

Comprimi PDF in C#

Questa libreria C# offre agli sviluppatori la possibilità di comprimere i PDF documenti in modo rapido ed efficiente in modo programmatico. Ottieni facilmente output PDF ottimizzato pronto per la stampa, l'archiviazione o la condivisione in rete. È una soluzione di elaborazione di PDF documenti standalone per C# che non richiede l'installazione di software di terze parti.

Riduci le dimensioni di un PDF utilizzando C#

Il nostro prodotto fornisce agli sviluppatori C# un'API integrata per ridurre le dimensioni dei PDF file. La compressione PDF viene eseguita in due passaggi. Durante il primo passaggio, tutte le pagine del PDF vengono convertite in formato immagine. Il nostro prodotto utilizza algoritmi di compressione delle immagini adattivi e altamente efficienti che consentono agli sviluppatori di ottenere un output PDF compatto mantenendo la qualità ottimale del documento. Al passaggio successivo, la sequenza di immagini viene compressa e combinata per formare il contenuto di un nuovo PDF file ottimizzato.

Compressione PDF semplificata con 'Aspose.Words for .NET'. L'esempio seguente mostra come ridurre le dimensioni di un PDF file in C#:

Esempio di codice in C# per comprimere PDF file
Carica un file che desideri ottimizzare/comprimere
Esegui codice
Seleziona il formato di destinazione dall'elenco
50%
using Aspose.Words;
using Aspose.Words.Pdf2Word.FixedFormats;

using var pdfStream = File.OpenRead("Input.pdf");

var renderer = new PdfFixedRenderer();
var pdfReadOptions = new PdfFixedOptions
{
    ImageFormat = FixedImageFormat.Jpeg,
    JpegQuality = 50
};

const double maxPageDimension = 1584;
var pagesStream = renderer.SavePdfAsImages(pdfStream, pdfReadOptions);

var builder = new DocumentBuilder();
for (var i = 0; i < pagesStream.Count; ++i)
{
    // Imposta la dimensione massima della pagina per evitare il ridimensionamento dell'immagine della pagina corrente.
    var pageSetup = builder.PageSetup;
    SetPageSize(pageSetup, maxPageDimension, maxPageDimension);

    var pageImage = builder.InsertImage(pagesStream[i]);

    SetPageSize(pageSetup, pageImage.Width, pageImage.Height);
    pageSetup.TopMargin = 0;
    pageSetup.LeftMargin = 0;
    pageSetup.BottomMargin = 0;
    pageSetup.RightMargin = 0;

    if (i != pagesStream.Count - 1)
        builder.InsertBreak(BreakType.SectionBreakNewPage);
}

var saveOptions = new PdfSaveOptions
{
    CacheBackgroundGraphics = true
};

builder.Document.Save("Output.pdf", saveOptions);

private void SetPageSize(PageSetup pageSetup, double width, double height)
{
    pageSetup.PageWidth = width;
    pageSetup.PageHeight = height;
}
using Aspose.Words; var doc = new Document("Input.pdf"); doc.Cleanup(); var nodes = doc.GetChildNodes(NodeType.Shape, true); foreach (Shape shape in nodes) { if (shape.IsImage) { // Spetta allo sviluppatore scegliere la libreria per la compressione delle immagini. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Comprime l'immagine e riportala alla forma. shape.ImageData.SetImage("yourCompressedImage"); } } var saveOptions = new PdfSaveOptions { CacheBackgroundGraphics = true }; doc.Save("Output.pdf", saveOptions); using Aspose.Words; var doc = new Document("Input.pdf"); doc.Cleanup(); var nodes = doc.GetChildNodes(NodeType.Shape, true); foreach (Shape shape in nodes) { if (shape.IsImage) { // Spetta allo sviluppatore scegliere la libreria per la compressione delle immagini. using var image = Image.Fromstream(shape.ImageData.ToStream()); // ... // Comprime l'immagine e riportala alla forma. shape.ImageData.SetImage("yourCompressedImage"); } } doc.Save("Output.pdf"); using Aspose.Words; var doc = new Document("Input.pdf"); doc.Cleanup(); var nodes = doc.GetChildNodes(NodeType.Shape, true); foreach (Shape shape in nodes) { if (shape.IsImage) { // Spetta allo sviluppatore scegliere la libreria per la compressione delle immagini. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Comprime l'immagine e riportala alla forma. shape.ImageData.SetImage("yourCompressedImage"); } } var saveOptions = new OoxmlSaveOptions { CompressionLevel = CompressionLevel.Maximum }; doc.Save("Output.pdf", saveOptions); using Aspose.Words; var doc = new Document(); var builder = new DocumentBuilder(doc); var shape = builder.InsertImage("Input.pdf"); // Aggiorna le impostazioni della pagina per ritagliare il documento per adattarlo alle dimensioni dell'immagine. var pageSetup = builder.PageSetup; pageSetup.PageWidth = shape.Width; pageSetup.PageHeight = shape.Height; pageSetup.TopMargin = 0; pageSetup.LeftMargin = 0; pageSetup.BottomMargin = 0; pageSetup.RightMargin = 0; var saveOptions = new ImageSaveOptions(SaveFormat.Pdf) { }; doc.Save("Output.pdf", saveOptions); using Aspose.Words; using Aspose.Words.Pdf2Word.FixedFormats; using var pdfStream = File.OpenRead("Input.pdf"); var renderer = new PdfFixedRenderer(); var pdfReadOptions = new PdfFixedOptions { ImageFormat = FixedImageFormat.Jpeg, JpegQuality = 50 }; const double maxPageDimension = 1584; var pagesStream = renderer.SavePdfAsImages(pdfStream, pdfReadOptions); var builder = new DocumentBuilder(); for (var i = 0; i < pagesStream.Count; ++i) { // Imposta la dimensione massima della pagina per evitare il ridimensionamento dell'immagine della pagina corrente. var pageSetup = builder.PageSetup; SetPageSize(pageSetup, maxPageDimension, maxPageDimension); var pageImage = builder.InsertImage(pagesStream[i]); SetPageSize(pageSetup, pageImage.Width, pageImage.Height); pageSetup.TopMargin = 0; pageSetup.LeftMargin = 0; pageSetup.BottomMargin = 0; pageSetup.RightMargin = 0; if (i != pagesStream.Count - 1) builder.InsertBreak(BreakType.SectionBreakNewPage); } var saveOptions = new PdfSaveOptions { CacheBackgroundGraphics = true }; builder.Document.Save("Output.pdf", saveOptions); private void SetPageSize(PageSetup pageSetup, double width, double height) { pageSetup.PageWidth = width; pageSetup.PageHeight = height; }
Esegui codice

Come comprimere PDF C#

  1. Installa Aspose.Words for .NET.
  2. Aggiungi un riferimento alla libreria (importa la libreria) al tuo progetto C#.
  3. Apri il file di origine PDF in C#.
  4. Comprimi PDF senza perdere qualità.
  5. Chiama il metodo Document.Cleanup(). Il codice risultante può variare a seconda del formato del file di output.
  6. Ottieni il risultato compresso come PDF file.

C# libreria per ottimizzare e comprimere PDF file

Ci sono tre opzioni alternative per installare "Aspose.Words per .NET" sul tuo sistema. Scegline uno che corrisponda alle tue esigenze e segui le istruzioni passo passo:

Requisiti di sistema

Il nostro prodotto è completamente multipiattaforma e supporta tutte le principali implementazioni .NET:

  • .NET ≥ 5.0
  • .NET Core ≥ 2.0
  • .NET Standard ≥ 2.0
  • .NET Framework ≥ 3.5
  • MonoMac
  • MonoAndroid
  • Xamarin

Poiché il codice .NET non dipende dall'hardware o dal sistema operativo sottostante, ma solo da una macchina virtuale, sei libero di sviluppare qualsiasi tipo di software per Windows, macOS, Android, iOS e Linux. Assicurati solo di aver installato la versione corrispondente di .NET Framework, .NET Core, Windows Azure, Mono o Xamarin.

È consigliabile utilizzare gli ambienti di sviluppo integrati Microsoft Visual Studio, Xamarin e MonoDevelop per creare applicazioni C#, F#, VB.NET.

Per maggiori dettagli fare riferimento alla documentazione del prodotto.

Altre ottimizzazioni del formato file supportate

Puoi ottimizzare i file in molti altri formati di file:

5%

Iscriviti agli aggiornamenti del prodotto Aspose

Ricevi newsletter mensili e offerte direttamente nella tua casella di posta.

© Aspose Pty Ltd 2001-2024. Tutti i diritti riservati.