Šis ir profesionāls risinājums, lai saspiestu PDF, izmantojot C#, F#, VB.NET. Izmantojiet mūsu PDF optimizācijas API, lai izstrādātu augsta līmeņa, no platformas neatkarīgu programmatūru .NET un .NET Core platformām. Izmēģiniet to tiešsaistē bez maksas!
Šī C# bibliotēka nodrošina izstrādātājiem iespēju ātri un efektīvi programmatiski saspiest PDF dokumentus. Viegli sagatavojiet optimizētu PDF izvadi drukāšanai, arhivēšanai vai kopīgošanai tīklā. Tas ir atsevišķs PDF dokumentu apstrādes risinājums C#, kam nav nepieciešama trešās puses programmatūras instalēšana.
Mūsu produkts nodrošina C# izstrādātājus ar integrētu API, lai samazinātu PDF failu lielumu. PDF saspiešana tiek veikta divās piegājienos. Pirmajā piegājienā visas PDF lapas tiek pārveidotas attēla formātā. Mūsu produkts izmanto adaptīvus un ļoti efektīvus attēlu saspiešanas algoritmus, kas ļauj izstrādātājiem iegūt kompaktu PDF izvadi, vienlaikus saglabājot optimālu dokumenta kvalitāti. Nākamajā piegājienā attēlu secība tiek saspiesta un apvienota, lai izveidotu jauna, optimizēta PDF faila saturu.
PDF saspiešana ir atvieglota, izmantojot 'Aspose.Words for .NET'. Šis piemērs parāda, kā samazināt PDF faila lielumu C#:
dotnet add package Aspose.Words
Kopēt
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)
{
// Iestatiet maksimālo lapas izmēru, lai izvairītos no pašreizējās lapas attēla mērogošanas.
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)
{
// Izstrādātājs var izvēlēties attēlu saspiešanas bibliotēku.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Saspiest attēlu un iestatīt to atpakaļ formā.
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)
{
// Izstrādātājs var izvēlēties attēlu saspiešanas bibliotēku.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Saspiest attēlu un iestatīt to atpakaļ formā.
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)
{
// Izstrādātājs var izvēlēties attēlu saspiešanas bibliotēku.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Saspiest attēlu un iestatīt to atpakaļ formā.
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)
{
// Iestatiet maksimālo lapas izmēru, lai izvairītos no pašreizējās lapas attēla mērogošanas.
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;
}
Ir trīs alternatīvas iespējas, lai sistēmā instalētu 'Aspose.Words for .NET'. Lūdzu, izvēlieties to, kas atbilst jūsu vajadzībām, un izpildiet soli pa solim sniegtos norādījumus:
Mūsu produkts ir pilnībā vairāku platformu un atbalsta visas galvenās .NET implementācijas:
Ciktāl .NET kods nav atkarīgs no pamatā esošās aparatūras vai operētājsistēmas, bet tikai no virtuālās mašīnas, jūs varat brīvi izstrādāt jebkāda veida programmatūru operētājsistēmai Windows, macOS, Android, iOS un Linux. Vienkārši pārliecinieties, vai esat instalējis atbilstošo .NET Framework, .NET Core, Windows Azure, Mono vai Xamarin versiju.
Mēs iesakām izmantot Microsoft Visual Studio, Xamarin un MonoDevelop integrētās izstrādes vides, lai izveidotu C#, F#, VB.NET lietojumprogrammas.
Lai iegūtu sīkāku informāciju, lūdzu, skatiet produkta dokumentāciju.
Varat optimizēt failus daudzos citos failu formātos: