Kodas suspausti PDF į C#

Didelio našumo .NET biblioteka, skirta optimizuoti PDF turinį ir dydį, išlaikant pradinę kokybę ir pradinius duomenis

Tai profesionalus sprendimas suspausti PDF naudojant C#, F#, VB.NET. Naudokite mūsų PDF optimizavimo API, kad sukurtumėte aukšto lygio, nuo platformos nepriklausomą programinę įrangą, skirtą .NET ir .NET Core platformoms. Išbandykite internetu nemokamai!

Peržiūrėkite kodo fragmentą

Suspausti PDF C#

Ši C# biblioteka suteikia kūrėjams galimybę greitai ir efektyviai programiškai suspausti PDF dokumentus. Lengvai paruoškite optimizuotą PDF išvestį spausdinimui, archyvavimui ar bendrinimui tinkle. Tai atskiras PDF dokumentų apdorojimo sprendimas, skirtas C#, kuriam nereikia įdiegti jokios trečiosios šalies programinės įrangos.

Sumažinkite PDF dydį naudodami C#

Mūsų produktas suteikia C# kūrėjams integruotą API, kad sumažintų PDF failų dydį. PDF suspaudimas atliekamas dviem važiavimais. Pirmojo praėjimo metu visi PDF puslapiai konvertuojami į vaizdo formatą. Mūsų gaminyje naudojami prisitaikantys ir labai efektyvūs vaizdų glaudinimo algoritmai, leidžiantys kūrėjams gauti kompaktišką PDF išvestį išlaikant optimalią dokumento kokybę. Kitą kartą vaizdų seka suglaudinama ir sujungiama, kad susidarytų naujo optimizuoto PDF failo turinys.

PDF glaudinimas palengvinamas naudojant 'Aspose.Words for .NET'. Šis pavyzdys parodo, kaip sumažinti PDF failo dydį C#:

Kodo pavyzdys C# norint suspausti PDF failus
Įkelkite failą, kurį norite optimizuoti / suspausti
Vykdyti kodą
Iš sąrašo pasirinkite tikslinį formatą
50%
dotnet add package Aspose.Words
Kopijuoti
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)
{
    // Nustatykite maksimalų puslapio dydį, kad išvengtumėte dabartinio puslapio vaizdo mastelio.
    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) { // Kūrėjas turi pasirinkti vaizdo glaudinimo biblioteką. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Suspausti vaizdą ir grąžinti jį į 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) { // Kūrėjas turi pasirinkti vaizdo glaudinimo biblioteką. using var image = Image.Fromstream(shape.ImageData.ToStream()); // ... // Suspausti vaizdą ir grąžinti jį į 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) { // Kūrėjas turi pasirinkti vaizdo glaudinimo biblioteką. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Suspausti vaizdą ir grąžinti jį į 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"); var saveOptions = new ImageSaveOptions(SaveFormat.Pdf) { }; shape.GetShapeRenderer().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) { // Nustatykite maksimalų puslapio dydį, kad išvengtumėte dabartinio puslapio vaizdo mastelio. 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; }
Vykdyti kodą

Kaip suspausti PDF C#

  1. Įdiekite Aspose.Words for .NET.
  2. Pridėkite bibliotekos nuorodą (importuokite biblioteką) prie savo C# projekto.
  3. Atidarykite šaltinio PDF C# failą.
  4. Suspausti PDF neprarandant kokybės.
  5. Iškvieskite metodą Document.Cleanup(). Gautas kodas gali skirtis priklausomai nuo išvesties failo formato.
  6. Gaukite suglaudintą rezultatą kaip PDF failą.

C# biblioteka, skirta optimizuoti ir suspausti PDF failus

Yra trys alternatyvios parinktys, kaip įdiegti " "Aspose.Words for .NET" savo sistemoje. Pasirinkite tą, kuris atitinka jūsų poreikius, ir vadovaukitės nuosekliomis instrukcijomis:

Sistemos reikalavimai

Mūsų produktas yra visiškai kelių platformų ir palaiko visus pagrindinius .NET diegimus:

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

Kadangi .NET kodas nepriklauso nuo pagrindinės aparatinės įrangos ar operacinės sistemos, o tik nuo virtualios mašinos, galite laisvai kurti bet kokią programinę įrangą, skirtą "Windows", "MacOS", "Android", "iOS" ir "Linux". Tiesiog įsitikinkite, kad įdiegėte atitinkamą .NET Framework, .NET Core, Windows Azure, Mono arba Xamarin versiją.

Rekomenduojame naudoti Microsoft Visual Studio, Xamarin ir MonoDevelop integruotas kūrimo aplinkas kuriant C#, F#, VB.NET programas.

Daugiau informacijos rasite gaminio dokumentacijoje.

Kiti palaikomi failų formatų optimizavimai

Galite optimizuoti daugelio kitų failų formatų failus:

5%

Prenumeruokite "Aspose" produktų naujinius

Gaukite mėnesinius naujienlaiškius ir pasiūlymus, pristatomus tiesiai į jūsų pašto dėžutę.

© Aspose Pty Ltd 2001-2024. Visos teisės saugomos.