Toto je profesionálne riešenie na kompresiu PDF pomocou C#, F#, VB.NET. Použite naše rozhranie API na optimalizáciu PDF na vývoj softvéru na vysokej úrovni, ktorý je nezávislý od platformy pre platformy .NET a .NET Core. Vyskúšajte to online zadarmo!
Táto knižnica C# poskytuje vývojárom možnosť rýchlo a efektívne programovo komprimovať PDF dokumenty. Jednoducho získajte optimalizovaný výstup PDF pripravený na tlač, archiváciu alebo zdieľanie cez sieť. Je to samostatné riešenie na spracovanie PDF dokumentov pre C#, ktoré nevyžaduje inštaláciu softvéru tretích strán.
Náš produkt poskytuje vývojárom C# integrované rozhranie API na zníženie veľkosti PDF súborov. Kompresia PDF sa vykonáva v dvoch prechodoch. Počas prvého prechodu sa všetky strany PDF skonvertujú do obrazového formátu. Náš produkt využíva adaptívne a vysoko efektívne algoritmy kompresie obrázkov, ktoré umožňujú vývojárom získať kompaktný výstup PDF pri zachovaní optimálnej kvality dokumentu. Pri ďalšom prechode sa sekvencia obrázkov skomprimuje a skombinuje tak, aby vytvoril obsah nového optimalizovaného PDF súboru.
Kompresia PDF je jednoduchá vďaka 'Aspose.Words for .NET'. Nasledujúci príklad ukazuje, ako zmenšiť veľkosť PDF súboru v C#:
dotnet add package Aspose.Words
Kopírovať
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)
{
// Nastavte maximálnu veľkosť stránky, aby ste sa vyhli zmene mierky obrazu aktuálnej stránky.
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)
{
// Je na vývojárovi, aby si vybral knižnicu na kompresiu obrázkov.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Komprimujte obrázok a nastavte ho späť do tvaru.
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)
{
// Je na vývojárovi, aby si vybral knižnicu na kompresiu obrázkov.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Komprimujte obrázok a nastavte ho späť do tvaru.
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)
{
// Je na vývojárovi, aby si vybral knižnicu na kompresiu obrázkov.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Komprimujte obrázok a nastavte ho späť do tvaru.
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)
{
// Nastavte maximálnu veľkosť stránky, aby ste sa vyhli zmene mierky obrazu aktuálnej stránky.
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;
}
Existujú tri alternatívne možnosti inštalácie "Aspose.Words for .NET" do vášho systému. Vyberte si ten, ktorý zodpovedá vašim potrebám, a postupujte podľa pokynov krok za krokom:
Náš produkt je plne multiplatformový a podporuje všetky hlavné implementácie .NET:
Pokiaľ kód .NET nezávisí od základného hardvéru alebo operačného systému, ale iba od virtuálneho počítača, môžete slobodne vyvíjať akýkoľvek druh softvéru pre Windows, macOS, Android, iOS a Linux. Len sa uistite, že máte nainštalovanú zodpovedajúcu verziu .NET Framework, .NET Core, Windows Azure, Mono alebo Xamarin.
Na vytváranie aplikácií C#, F#, VB.NET odporúčame používať integrované vývojové prostredia Microsoft Visual Studio, Xamarin a MonoDevelop.
Ďalšie podrobnosti nájdete v dokumentácii k produktu.
Môžete optimalizovať súbory v mnohých iných formátoch súborov: