Codul de comprimat PDF în C#

Bibliotecă .NET de înaltă performanță pentru a optimiza conținutul și dimensiunea PDF, păstrând calitatea originală și datele de referință

Aceasta este o soluție profesională pentru a comprima PDF folosind C#, F#, VB.NET. Utilizați API ul nostru de optimizare PDF pentru a dezvolta software de nivel înalt, independent de platformă, pentru platformele .NET și .NET Core. Încercați online gratuit!

Vizualizați fragmentul de cod

Comprimați PDF în C#

Această C# bibliotecă oferă dezvoltatorilor posibilitatea de a comprima rapid și eficient PDF documentele în mod programatic. Pregătiți cu ușurință ieșiri PDF optimizate pentru imprimare, arhivare sau partajare în rețea. Este o soluție autonomă de procesare a PDF documentelor pentru C#, care nu necesită instalarea unui software terță parte.

Reduceți dimensiunea unui PDF utilizând C#

Produsul nostru oferă dezvoltatorilor C# un API integrat pentru a reduce dimensiunea PDF fișierelor. Comprimarea PDF se realizează în două treceri. În timpul primei treceri, toate paginile PDF ului sunt convertite în format imagine. Produsul nostru folosește algoritmi de comprimare a imaginii adaptabili și extrem de eficienți care permit dezvoltatorilor să obțină rezultate compacte PDF, menținând în același timp calitatea optimă a documentului. La următoarea trecere, secvența de imagini este comprimată și combinată pentru a forma conținutul unui PDF fișier nou, optimizat.

Comprimarea PDF este ușoară cu 'Aspose.Words for .NET'. Următorul exemplu demonstrează cum se reduce dimensiunea unui PDF fișier în C#:

Exemplu de cod în C# pentru a comprima PDF fișiere
Încărcați un fișier pe care doriți să îl optimizați/comprimați
Rulați codul
Selectați formatul țintă din listă
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)
{
    // Setați dimensiunea maximă a paginii pentru a evita scalarea imaginii paginii curente.
    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) { // Depinde de dezvoltator să aleagă biblioteca pentru compresia imaginii. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Comprimați imaginea și setați-o înapoi la formă. 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) { // Depinde de dezvoltator să aleagă biblioteca pentru compresia imaginii. using var image = Image.Fromstream(shape.ImageData.ToStream()); // ... // Comprimați imaginea și setați-o înapoi la formă. 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) { // Depinde de dezvoltator să aleagă biblioteca pentru compresia imaginii. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Comprimați imaginea și setați-o înapoi la formă. 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"); // Actualizați setările paginii pentru a decupa documentul pentru a se potrivi cu dimensiunea imaginii. 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) { // Setați dimensiunea maximă a paginii pentru a evita scalarea imaginii paginii curente. 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; }
Rulați codul

Cum să comprimați PDF

  1. Instalați Aspose.Words for .NET.
  2. Adăugați o referință la bibliotecă (importați biblioteca) în proiectul dvs. C#.
  3. Deschideți fișierul sursă PDF în C#.
  4. Comprimați PDF fără a pierde calitatea.
  5. Apelați metoda Document.Cleanup(). Codul rezultat poate varia în funcție de formatul fișierului de ieșire.
  6. Obțineți rezultatul comprimat ca PDF fișier.

C# bibliotecă pentru a optimiza și comprima PDF fișiere

Există trei opțiuni alternative pentru a instala "Aspose.Words pentru .NET" pe sistemul dumneavoastră. Alegeți unul care seamănă cu nevoile dvs. și urmați instrucțiunile pas cu pas:

Cerințe de sistem

Produsul nostru este complet multiplatform și acceptă toate implementările majore .NET:

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

În ceea ce privește codul .NET nu depinde de hardware-ul sau sistemul de operare de bază, ci doar de o mașină virtuală, sunteți liber să dezvoltați orice fel de software pentru Windows, macOS, Android, iOS și Linux. Asigurați-vă că ați instalat versiunea corespunzătoare de .NET Framework, .NET Core, Windows Azure, Mono sau Xamarin.

Vă recomandăm să utilizați mediile de dezvoltare integrate Microsoft Visual Studio, Xamarin și MonoDevelop pentru a crea aplicații C#, F#, VB.NET.

Pentru mai multe detalii, consultați documentația produsului.

Alte optimizări de format de fișier acceptate

Puteți optimiza fișiere în multe alte formate de fișiere:

5%

Abonați-vă la Actualizări de produse Aspose

Primiți buletine informative lunare și oferte livrate direct în căsuța dvs. poștală.

© Aspose Pty Ltd 2001-2024. Toate drepturile rezervate.