Aceasta este o soluție profesională pentru a comprima PDF folosind C#, F#, VB.NET. Utilizați API ul nostru de optimizare PDF pentru a dezvolta software de nivel înalt, independent de platformă, pentru platformele .NET și .NET Core. Încercați online gratuit!
Această C# bibliotecă oferă dezvoltatorilor posibilitatea de a comprima rapid și eficient PDF documentele în mod programatic. Pregătiți cu ușurință ieșiri PDF optimizate pentru imprimare, arhivare sau partajare în rețea. Este o soluție autonomă de procesare a PDF documentelor pentru C#, care nu necesită instalarea unui software terță parte.
Produsul nostru oferă dezvoltatorilor C# un API integrat pentru a reduce dimensiunea PDF fișierelor. Comprimarea PDF se realizează în două treceri. În timpul primei treceri, toate paginile PDF ului sunt convertite în format imagine. Produsul nostru folosește algoritmi de comprimare a imaginii adaptabili și extrem de eficienți care permit dezvoltatorilor să obțină rezultate compacte PDF, menținând în același timp calitatea optimă a documentului. La următoarea trecere, secvența de imagini este comprimată și combinată pentru a forma conținutul unui PDF fișier nou, optimizat.
Comprimarea PDF este ușoară cu 'Aspose.Words for .NET'. Următorul exemplu demonstrează cum se reduce dimensiunea unui PDF fișier în C#:
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)
{
// Setați dimensiunea maximă a paginii pentru a evita scalarea imaginii paginii curente.
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)
{
// Depinde de dezvoltator să aleagă biblioteca pentru compresia imaginii.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Comprimați imaginea și setați-o înapoi la 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)
{
// Depinde de dezvoltator să aleagă biblioteca pentru compresia imaginii.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Comprimați imaginea și setați-o înapoi la 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)
{
// Depinde de dezvoltator să aleagă biblioteca pentru compresia imaginii.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Comprimați imaginea și setați-o înapoi la 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");
// Actualizați setările paginii pentru a decupa documentul pentru a se potrivi cu dimensiunea imaginii.
var pageSetup = builder.PageSetup;
pageSetup.PageWidth = shape.Width;
pageSetup.PageHeight = shape.Height;
pageSetup.TopMargin = 0;
pageSetup.LeftMargin = 0;
pageSetup.BottomMargin = 0;
pageSetup.RightMargin = 0;
var saveOptions = new ImageSaveOptions(SaveFormat.Pdf)
{
};
doc.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)
{
// Setați dimensiunea maximă a paginii pentru a evita scalarea imaginii paginii curente.
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;
}
Există trei opțiuni alternative pentru a instala "Aspose.Words pentru .NET" pe sistemul dumneavoastră. Alegeți unul care seamănă cu nevoile dvs. și urmați instrucțiunile pas cu pas:
Produsul nostru este complet multiplatform și acceptă toate implementările majore .NET:
În ceea ce privește codul .NET nu depinde de hardware-ul sau sistemul de operare de bază, ci doar de o mașină virtuală, sunteți liber să dezvoltați orice fel de software pentru Windows, macOS, Android, iOS și Linux. Asigurați-vă că ați instalat versiunea corespunzătoare de .NET Framework, .NET Core, Windows Azure, Mono sau Xamarin.
Vă recomandăm să utilizați mediile de dezvoltare integrate Microsoft Visual Studio, Xamarin și MonoDevelop pentru a crea aplicații C#, F#, VB.NET.
Pentru mai multe detalii, consultați documentația produsului.
Puteți optimiza fișiere în multe alte formate de fișiere: