Dies ist eine professionelle Lösung zum Komprimieren von PDF mit C#, F#, VB.NET. Verwenden Sie unsere PDF Optimierungs API, um plattformunabhängige High-Level Software für .NET und .NET Core Plattformen zu entwickeln. Probieren Sie es kostenlos online aus!
Diese C# Bibliothek bietet Entwicklern die Möglichkeit, PDF Dokumente schnell und effizient programmgesteuert zu komprimieren. Bereiten Sie ganz einfach eine optimierte PDF Ausgabe zum Drucken, Archivieren oder Teilen über das Netzwerk vor. Es ist eine eigenständige PDF Dokumentverarbeitungslösung für C#, für die keine Software von Drittanbietern installiert werden muss.
Unser Produkt bietet C# Entwicklern eine integrierte API, um die Größe von PDF Dateien zu reduzieren. Die PDF Komprimierung erfolgt in zwei Durchgängen. Beim ersten Durchgang werden alle Seiten des PDF in das Bildformat konvertiert. Unser Produkt verwendet adaptive und hocheffiziente Bildkomprimierungsalgorithmen, die es Entwicklern ermöglichen, eine kompakte PDF Ausgabe zu erhalten und gleichzeitig die optimale Qualität des Dokuments beizubehalten. Beim nächsten Durchlauf wird die Bildfolge komprimiert und zum Inhalt einer neuen, optimierten PDF Datei zusammengesetzt.
PDF Komprimierung leicht gemacht mit 'Aspose.Words for .NET'. Das folgende Beispiel zeigt, wie Sie die Größe einer PDF Datei in C# reduzieren:
dotnet add package Aspose.Words
Kopieren
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)
{
// Legen Sie die maximale Seitengröße fest, um die aktuelle Seitenbildskalierung zu vermeiden.
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)
{
// Es ist Sache des Entwicklers, die Bibliothek für die Bildkomprimierung auszuwählen.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Bild komprimieren und auf die Form zurücksetzen.
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)
{
// Es ist Sache des Entwicklers, die Bibliothek für die Bildkomprimierung auszuwählen.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Bild komprimieren und auf die Form zurücksetzen.
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)
{
// Es ist Sache des Entwicklers, die Bibliothek für die Bildkomprimierung auszuwählen.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Bild komprimieren und auf die Form zurücksetzen.
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)
{
// Legen Sie die maximale Seitengröße fest, um die aktuelle Seitenbildskalierung zu vermeiden.
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;
}
Es gibt drei alternative Optionen, um "Aspose.Words für .NET" auf Ihrem System zu installieren. Bitte wählen Sie eine aus, die Ihren Bedürfnissen entspricht und folgen Sie der Schritt-für-Schritt-Anleitung:
Unser Produkt ist vollständig plattformübergreifend und unterstützt alle wichtigen .NET-Implementierungen:
Da .NET-Code nicht von der zugrunde liegenden Hardware oder dem Betriebssystem, sondern nur von einer virtuellen Maschine abhängt, können Sie jede Art von Software für Windows, macOS, Android, iOS und Linux entwickeln. Stellen Sie einfach sicher, dass Sie die entsprechende Version von .NET Framework, .NET Core, Windows Azure, Mono oder Xamarin installiert haben.
Wir empfehlen die Verwendung der integrierten Entwicklungsumgebungen Microsoft Visual Studio, Xamarin und MonoDevelop zum Erstellen von C#, F#, VB.NET Anwendungen.
Weitere Einzelheiten finden Sie in der Produktdokumentation.
Sie können Dateien in vielen anderen Dateiformaten optimieren: