Αυτή είναι μια επαγγελματική λύση για τη συμπίεση του PDF χρησιμοποιώντας C#, F#, VB.NET. Χρησιμοποιήστε το API βελτιστοποίησης PDF για να αναπτύξετε λογισμικό υψηλού επιπέδου, ανεξάρτητο από πλατφόρμα για πλατφόρμες .NET και .NET Core. Δοκιμάστε το online δωρεάν!
Αυτή η βιβλιοθήκη C# παρέχει στους προγραμματιστές τη δυνατότητα γρήγορης και αποτελεσματικής συμπίεσης PDF εγγράφων μέσω προγραμματισμού. Αποκτήστε εύκολα βελτιστοποιημένη έξοδο PDF έτοιμη για εκτύπωση, αρχειοθέτηση ή κοινή χρήση μέσω του δικτύου. Είναι μια αυτόνομη λύση επεξεργασίας PDF εγγράφων για C# που δεν απαιτεί την εγκατάσταση λογισμικού τρίτων.
Το προϊόν μας παρέχει στους προγραμματιστές C# ένα ενσωματωμένο API για τη μείωση του μεγέθους των PDF αρχείων. Η συμπίεση PDF πραγματοποιείται σε δύο περάσματα. Κατά το πρώτο πέρασμα, όλες οι σελίδες του PDF μετατρέπονται σε μορφή εικόνας. Το προϊόν μας χρησιμοποιεί προσαρμοστικούς και εξαιρετικά αποδοτικούς αλγόριθμους συμπίεσης εικόνας που επιτρέπουν στους προγραμματιστές να λαμβάνουν συμπαγή έξοδο PDF διατηρώντας παράλληλα τη βέλτιστη ποιότητα του εγγράφου. Στο επόμενο πέρασμα, η ακολουθία των εικόνων συμπιέζεται και συνδυάζεται για να σχηματίσει το περιεχόμενο ενός νέου, βελτιστοποιημένου PDF αρχείου.
Η συμπίεση PDF έγινε εύκολη με 'Aspose.Words for .NET'. Το ακόλουθο παράδειγμα δείχνει πώς να μειώσετε το μέγεθος ενός PDF αρχείου σε C#:
dotnet add package Aspose.Words
αντίγραφο
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)
{
// Ορίστε μέγιστο μέγεθος σελίδας για να αποφύγετε την κλιμάκωση της τρέχουσας εικόνας σελίδας.
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)
{
// Εναπόκειται στον προγραμματιστή να επιλέξει τη βιβλιοθήκη για συμπίεση εικόνας.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Συμπίεση της εικόνας και επαναφορά της στο σχήμα.
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)
{
// Εναπόκειται στον προγραμματιστή να επιλέξει τη βιβλιοθήκη για τη συμπίεση εικόνας.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Συμπιέστε την εικόνα και επαναφέρετέ την στο σχήμα.
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)
{
// Εναπόκειται στον προγραμματιστή να επιλέξει τη βιβλιοθήκη για συμπίεση εικόνας.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Συμπιέστε την εικόνα και επαναφέρετέ την στο σχήμα.
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)
{
// Ορίστε μέγιστο μέγεθος σελίδας για να αποφύγετε την κλιμάκωση της τρέχουσας εικόνας σελίδας.
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 για .NET" στο σύστημά σας. Επιλέξτε αυτό που μοιάζει με τις ανάγκες σας και ακολουθήστε τις οδηγίες βήμα προς βήμα:
Το προϊόν μας είναι πλήρως cross-platform και υποστηρίζει όλες τις σημαντικές υλοποιήσεις .NET:
Όσον αφορά τον κώδικα .NET δεν εξαρτάται από το υποκείμενο υλικό ή το λειτουργικό σύστημα, αλλά μόνο από μια Εικονική Μηχανή, είστε ελεύθεροι να αναπτύξετε οποιοδήποτε είδος λογισμικού για Windows, macOS, Android, iOS και Linux. Απλώς βεβαιωθείτε ότι έχετε εγκαταστήσει την αντίστοιχη έκδοση των .NET Framework, .NET Core, Windows Azure, Mono ή Xamarin.
Συνιστούμε τη χρήση ολοκληρωμένων περιβαλλόντων ανάπτυξης Microsoft Visual Studio, Xamarin και MonoDevelop για τη δημιουργία εφαρμογών C#, F#, VB.NET.
Για περισσότερες λεπτομέρειες, ανατρέξτε στην τεκμηρίωση προϊόντος.
Μπορείτε να βελτιστοποιήσετε αρχεία σε πολλές άλλες μορφές αρχείων: