Det här är en professionell lösning för att komprimera PDF med C#, F#, VB.NET. Använd vårt PDF optimerings API för att utveckla plattformsoberoende programvara på hög nivå för .NET och .NET Core -plattformar. Prova det gratis online!
Detta C# bibliotek ger utvecklare möjligheten att snabbt och effektivt komprimera PDF dokument programmatiskt. Få enkelt optimerad PDF utdata redo för utskrift, arkivering eller delning över nätverket. Det är en fristående PDF dokumentbehandlingslösning för C# som inte kräver att någon programvara från tredje part installeras.
Vår produkt förser C# utvecklare med ett integrerat API för att minska storleken på PDF filer. PDF komprimering utförs i två omgångar. Under det första passet konverteras alla sidor i PDF till bildformat. Vår produkt använder adaptiva och mycket effektiva bildkomprimeringsalgoritmer som gör att utvecklare kan få kompakt PDF utdata samtidigt som dokumentets optimala kvalitet bibehålls. Vid nästa pass komprimeras bildsekvensen och kombineras för att bilda innehållet i en ny, optimerad PDF fil.
PDF komprimering på ett enkelt sätt med 'Aspose.Words for .NET'. Följande exempel visar hur du kan minska storleken på en PDF fil i C#:
dotnet add package Aspose.Words
Kopiera
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)
{
// Ställ in maximal sidstorlek för att undvika skalning av den aktuella sidbilden.
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 är upp till utvecklaren att välja biblioteket för bildkomprimering.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Komprimera bilden och ställ tillbaka den till 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 är upp till utvecklaren att välja biblioteket för bildkomprimering.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Komprimera bilden och ställ tillbaka den till 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 är upp till utvecklaren att välja biblioteket för bildkomprimering.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Komprimera bilden och ställ tillbaka den till 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)
{
// Ställ in maximal sidstorlek för att undvika skalning av den aktuella sidbilden.
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;
}
Det finns tre alternativa alternativ för att installera "Aspose.Words för .NET" på ditt system. Välj en som liknar dina behov och följ steg-för-steg-instruktionerna:
Vår produkt är helt plattformsoberoende och stöder alla större .NET-implementeringar:
Såvitt .NET-koden inte beror på den underliggande hårdvaran eller operativsystemet, utan bara på en virtuell maskin, är du fri att utveckla vilken typ av programvara som helst för Windows, macOS, Android, iOS och Linux. Se bara till att du har installerat motsvarande version av .NET Framework, .NET Core, Windows Azure, Mono eller Xamarin.
Vi rekommenderar att du använder Microsoft Visual Studio, Xamarin och MonoDevelop integrerade utvecklingsmiljöer för att skapa C#, F#, VB.NET applikationer.
För mer information, se Produktdokumentation.
Du kan optimera filer i många andra filformat: