To je profesionalna rešitev za stiskanje PDF s C#, F#, VB.NET. Uporabite naš API za optimizacijo PDF za razvoj programske opreme na visoki ravni, neodvisne od platforme za platforme .NET in .NET Core. Preizkusite na spletu brezplačno!
Ta knjižnica C# razvijalcem omogoča hitro in učinkovito programsko stiskanje PDF dokumentov. Preprosto pripravite optimiziran izpis PDF, pripravljen za tiskanje, arhiviranje ali skupno rabo prek omrežja. Je samostojna rešitev za obdelavo PDF dokumentov za C#, ki ne zahteva namestitve programske opreme tretjih oseb.
Naš izdelek razvijalcem C# zagotavlja integriran API za zmanjšanje velikosti PDF datotek. Stiskanje PDF poteka v dveh prehodih. Med prvim prehodom se vse strani PDF ja pretvorijo v slikovni format. Naš izdelek uporablja prilagodljive in zelo učinkovite algoritme stiskanja slik, ki razvijalcem omogočajo kompakten izhod PDF, hkrati pa ohranjajo optimalno kakovost dokumenta. Pri naslednjem prehodu se zaporedje slik stisne in združi v vsebino nove, optimizirane PDF datoteke.
Stiskanje PDF jev je preprosto z 'Aspose.Words for .NET'. Naslednji primer prikazuje, kako zmanjšati velikost PDF datoteke v C#:
dotnet add package Aspose.Words
Kopirati
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)
{
// Nastavite največjo velikost strani, da se izognete spreminjanju velikosti slike trenutne strani.
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)
{
// Razvijalec mora izbrati knjižnico za stiskanje slike.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Stisnite sliko in jo nastavite nazaj v obliko.
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)
{
// Razvijalec mora izbrati knjižnico za stiskanje slik.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Stisnite sliko in jo vrnite v obliko.
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)
{
// Razvijalec mora izbrati knjižnico za stiskanje slike.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Stisnite sliko in jo nastavite nazaj v obliko.
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)
{
// Nastavite največjo velikost strani, da se izognete spreminjanju velikosti slike trenutne strani.
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;
}
Obstajajo tri alternativne možnosti za namestitev "Aspose.Words za .NET" v vaš sistem. Izberite tistega, ki ustreza vašim potrebam, in sledite navodilom po korakih:
Naš izdelek je popolnoma večplatformski in podpira vse glavne implementacije .NET:
Kar zadeva kodo .NET, ki ni odvisna od osnovne strojne opreme ali operacijskega sistema, ampak samo od navideznega stroja, lahko prosto razvijate kakršno koli programsko opremo za Windows, macOS, Android, iOS in Linux. Prepričajte se le, da ste namestili ustrezno različico .NET Framework, .NET Core, Windows Azure, Mono ali Xamarin.
Priporočamo uporabo integriranih razvojnih okolij Microsoft Visual Studio, Xamarin in MonoDevelop za ustvarjanje aplikacij C#, F#, VB.NET.
Za več podrobnosti glejte dokumentacijo izdelka.
Datoteke lahko optimizirate v številnih drugih oblikah datotek: