See on professionaalne lahendus PDF faili tihendamiseks C#, F#, VB.NET abil. Kasutage .NET i ja .NET Core platvormide jaoks kõrgetasemelise platvormist sõltumatu tarkvara väljatöötamiseks meie PDF optimeerimisliidest. Proovige seda veebis tasuta!
See C# teek annab arendajatele võimaluse PDF dokumente programmiliselt kiiresti ja tõhusalt tihendada. Saate hõlpsasti optimeeritud PDF väljundi printimiseks, arhiveerimiseks või võrgu kaudu jagamiseks valmis seada. See on C# jaoks eraldiseisev PDF dokumentide töötlemise lahendus, mis ei nõua kolmanda osapoole tarkvara installimist.
Meie toode pakub C# arendajatele integreeritud API d PDF failide suuruse vähendamiseks. PDF i tihendamine toimub kahe käiguga. Esimesel käigul teisendatakse kõik PDF i lehed pildivormingusse. Meie toode kasutab adaptiivseid ja ülitõhusaid pilditihendusalgoritme, mis võimaldavad arendajatel saada kompaktset PDF väljundit, säilitades samal ajal dokumendi optimaalse kvaliteedi. Järgmisel käigul tihendatakse piltide jada ja kombineeritakse uue optimeeritud PDF faili sisu.
PDF i tihendamine on tehtud lihtsaks rakendusega 'Aspose.Words for .NET'. Järgmine näide näitab, kuidas C# PDF faili suurust vähendada.
dotnet add package Aspose.Words
Kopeeri
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)
{
// Määrake lehe maksimaalne suurus, et vältida praeguse lehe kujutise skaleerimist.
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)
{
// Kujutise tihendamiseks teegi valib arendaja.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Tihendage pilt ja seadke see tagasi kujundisse.
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)
{
// Kujutise tihendamiseks teegi valib arendaja.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Tihendage pilt ja seadke see tagasi kujundisse.
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)
{
// Kujutise tihendamiseks teegi valib arendaja.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Tihendage pilt ja seadke see tagasi kujundisse.
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)
{
// Määrake lehe maksimaalne suurus, et vältida praeguse lehe kujutise skaleerimist.
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;
}
Aspose.Words for .NET installimiseks oma süsteemi on kolm alternatiivset võimalust. Valige üks, mis sarnaneb teie vajadustega, ja järgige samm-sammult juhiseid:
Meie toode on täielikult platvormideülene ja toetab kõiki peamisi .NET-i rakendusi:
Kuna .NET-kood ei sõltu aluseks olevast riistvarast või operatsioonisüsteemist, vaid ainult virtuaalmasinast, võite vabalt arendada mis tahes tarkvara Windowsi, macOS-i, Androidi, iOS-i ja Linuxi jaoks. Lihtsalt veenduge, et oleksite installinud vastava .NET Framework, .NET Core, Windows Azure, Mono või Xamarin versiooni.
C#, F#, VB.NET rakenduste loomiseks soovitame kasutada Microsoft Visual Studio, Xamarini ja MonoDevelopi integreeritud arenduskeskkondi.
Lisateavet leiate toote dokumentatsioonist.
Saate optimeerida faile paljudes teistes failivormingutes: