Koodi PDF:n pakkaamiseen kohteessa C#

Tehokas .NET kirjasto optimoi PDF sisällön ja koon säilyttäen alkuperäisen laadun ja perustiedot

Tämä on ammattimainen ratkaisu PDF:n pakkaamiseen käyttämällä C#, F#, VB.NET. Käytä PDF optimointisovellusliittymäämme korkean tason, alustasta riippumattomien ohjelmistojen kehittämiseen .NET ja .NET Core -alustoille. Kokeile verkossa ilmaiseksi!

Katso koodinpätkä

Pakkaa PDF C#

Tämä C# kirjasto tarjoaa kehittäjille mahdollisuuden pakata PDF dokumentteja ohjelmallisesti nopeasti ja tehokkaasti. Saat optimoidun PDF tulosteen helposti valmiiksi tulostamista, arkistointia tai jakamista verkon kautta. Se on itsenäinen PDF dokumenttien käsittelyratkaisu C#, joka ei vaadi kolmannen osapuolen ohjelmiston asentamista.

Pienennä PDF tiedoston kokoa C# avulla

Tuotteemme tarjoaa C# kehittäjille integroidun API PDF tiedostojen koon pienentämiseksi. PDF pakkaus suoritetaan kahdessa ajossa. Ensimmäisellä kerralla kaikki PDF tiedoston sivut muunnetaan kuvamuotoon. Tuotteemme käyttää mukautuvia ja erittäin tehokkaita kuvanpakkausalgoritmeja, joiden avulla kehittäjät voivat saada kompaktin PDF tulosteen säilyttäen samalla asiakirjan optimaalisen laadun. Seuraavalla kerralla kuvasarja pakataan ja yhdistetään uuden, optimoidun PDF tiedoston sisällön muodostamiseksi.

PDF pakkaus on tehty helpoksi 'Aspose.Words for .NET'. Seuraava esimerkki osoittaa, kuinka PDF tiedoston kokoa pienennetään C#:

Esimerkki koodissa C# pakkaamaan PDF tiedostoa
Lataa tiedosto, jonka haluat optimoida/pakkata
Suorita koodi
Valitse kohdemuoto luettelosta
50%
dotnet add package Aspose.Words
Kopio
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)
{
    // Aseta sivun enimmäiskoko välttääksesi nykyisen sivun kuvan skaalaus.
    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) { // Kehittäjä voi valita kuvan pakkauskirjaston. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Pakkaa kuva ja aseta se takaisin muotoon. 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) { // Kehittäjä voi valita kuvan pakkauskirjaston. using var image = Image.Fromstream(shape.ImageData.ToStream()); // ... // Pakkaa kuva ja aseta se takaisin muotoon. 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) { // Kehittäjä voi valita kuvan pakkauskirjaston. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Pakkaa kuva ja aseta se takaisin muotoon. 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) { // Aseta sivun enimmäiskoko välttääksesi nykyisen sivun kuvan skaalaus. 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; }
Suorita koodi

Kuinka pakata PDF

  1. Asenna Aspose.Words for .NET.
  2. Lisää kirjastoviite (tuo kirjasto) C# projektiisi.
  3. Avaa lähdetiedosto PDF kohteessa C#.
  4. Pakkaa PDF laadun heikkenemättä.
  5. Kutsu Document.Cleanup() -menetelmä. Tuloksena oleva koodi voi vaihdella tulostustiedostomuodon mukaan.
  6. Hae pakattu tulos PDF tiedostona.

C# kirjasto, jonka avulla voit optimoida ja pakata PDF tiedostoa

Aspose.Words for .NET asentamiseen järjestelmään on kolme vaihtoehtoa. Valitse tarpeitasi vastaava ja seuraa vaiheittaisia ohjeita:

Laitteistovaatimukset

Tuotteemme on täysin monikäyttöinen ja tukee kaikkia tärkeimpiä .NET-toteutuksia:

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

Sikäli kuin .NET-koodi ei riipu taustalla olevasta laitteistosta tai käyttöjärjestelmästä, vaan vain virtuaalikoneesta, voit vapaasti kehittää kaikenlaisia ohjelmistoja Windowsille, macOS:lle, Androidille, iOS:lle ja Linuxille. Varmista vain, että olet asentanut vastaavan version .NET Framework, .NET Core, Windows Azure, Mono tai Xamarin.

Suosittelemme Microsoft Visual Studion, Xamarinin ja MonoDevelopin integroitujen kehitysympäristöjen käyttöä C#, F#, VB.NET sovellusten luomiseen.

Katso lisätietoja tuotedokumentaatiosta.

Muut tuetut tiedostomuotojen optimoinnit

Voit optimoida tiedostoja monissa muissa tiedostomuodoissa:

5%

Tilaa Aspose tuotepäivitykset

Saat kuukausittaiset uutiskirjeet ja tarjoukset suoraan postilaatikkoosi.

© Aspose Pty Ltd 2001-2024. Kaikki oikeudet pidätetään.