Dette er en professionel løsning til at komprimere PDF ved hjælp af C#, F#, VB.NET. Brug vores PDF optimerings API til at udvikle platform-uafhængig software på højt niveau til .NET og .NET Core -platforme. Prøv det gratis online!
Dette C# bibliotek giver udviklere mulighed for hurtigt og effektivt at komprimere PDF dokumenter programmatisk. Få nemt optimeret PDF output klar til udskrivning, arkivering eller deling over netværket. Det er en selvstændig PDF dokumentbehandlingsløsning til C#, der ikke kræver nogen tredjepartssoftware, der skal installeres.
Vores produkt giver C# udviklere en integreret API til at reducere størrelsen af PDF filer. PDF komprimering udføres i to omgange. I løbet af det første gennemløb konverteres alle sider i PDF'en til billedformat. Vores produkt bruger adaptive og højeffektive billedkomprimeringsalgoritmer, der gør det muligt for udviklere at få kompakt PDF output og samtidig bevare den optimale kvalitet af dokumentet. Ved næste gennemløb komprimeres billedsekvensen og kombineres for at danne indholdet af en ny, optimeret PDF fil.
PDF komprimering gjort let med 'Aspose.Words for .NET'. Følgende eksempel viser, hvordan du reducerer størrelsen af en PDF fil i C#:
dotnet add package Aspose.Words
Kopi
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)
{
// Indstil maksimal sidestørrelse for at undgå skalering af det aktuelle sidebillede.
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)
{
// Det er op til udvikleren at vælge biblioteket til billedkomprimering.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Komprimer billedet og sæt det tilbage til formen.
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)
{
// Det er op til udvikleren at vælge biblioteket til billedkomprimering.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Komprimer billedet og sæt det tilbage til formen.
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)
{
// Det er op til udvikleren at vælge biblioteket til billedkomprimering.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Komprimer billedet og sæt det tilbage til formen.
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)
{
// Indstil maksimal sidestørrelse for at undgå skalering af det aktuelle sidebillede.
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;
}
Der er tre alternative muligheder for at installere "Aspose.Words til .NET" på dit system. Vælg venligst en, der ligner dine behov, og følg trin-for-trin instruktionerne:
Vores produkt er fuldt ud på tværs af platforme og understøtter alle større .NET-implementeringer:
For så vidt .NET-kode ikke afhænger af den underliggende hardware eller operativsystem, men kun af en virtuel maskine, er du fri til at udvikle enhver form for software til Windows, macOS, Android, iOS og Linux. Bare sørg for, at du har installeret den tilsvarende version af .NET Framework, .NET Core, Windows Azure, Mono eller Xamarin.
Vi anbefaler at bruge Microsoft Visual Studio, Xamarin og MonoDevelop integrerede udviklingsmiljøer til at skabe C#, F#, VB.NET applikationer.
Se produktdokumentation for flere detaljer.
Du kan optimere filer i mange andre filformater: