Αναπτύξτε λογισμικό χρησιμοποιώντας προηγμένο API βελτιστοποίησης εγγράφων, δημιουργήστε κώδικα υψηλού επιπέδου, ανεξάρτητο από πλατφόρμα για πλατφόρμες .NET και .NET Core. Αυτή είναι μια ισχυρή λύση για τη συμπίεση εγγράφων και εικόνων σε C#, F#, VB.NET.
Κάντε τα μεγάλα αρχεία μικρότερα χωρίς απώλεια ποιότητας. Διαγράψτε τα περιττά και αχρησιμοποίητα δεδομένα. Μειώστε το μέγεθος των Word αρχείων και HTML στο C#. Η βιβλιοθήκη μας C# παρέχει στους προγραμματιστές ένα ενσωματωμένο API για τη βελτιστοποίηση εγγράφων σε διάφορες μορφές.
Αυτή η βιβλιοθήκη C# είναι μια αυτόνομη λύση και δεν απαιτεί εγκατάσταση λογισμικού τρίτων.
Το μέγιστο αποτέλεσμα μπορεί να επιτευχθεί με τη βελτιστοποίηση εικόνων υψηλής ανάλυσης, καθώς και εγγράφων που περιέχουν τέτοιες εικόνες. Η βιβλιοθήκη μας C# θα σας βοηθήσει να συμπιέσετε DOCX αρχεία, DOC, RTF, ODT, EPUB, HTML, JPG, PNG.
Η βελτιστοποίηση των εγγράφων χωρίς απώλεια ποιότητας έγινε εύκολη με 'Aspose.Words for .NET'. Το ακόλουθο παράδειγμα δείχνει πώς να συρρικνώσετε το μέγεθος ενός Word εγγράφου στο C#:
dotnet add package Aspose.Words
αντίγραφο
using Aspose.Words;
var doc = new Document("Input.docx");
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.docx", saveOptions);
using Aspose.Words;
var doc = new Document("Input.docx");
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.docx", saveOptions);
using Aspose.Words;
var doc = new Document("Input.docx");
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.docx");
using Aspose.Words;
var doc = new Document("Input.docx");
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.docx", saveOptions);
using Aspose.Words;
var doc = new Document();
var builder = new DocumentBuilder(doc);
var shape = builder.InsertImage("Input.docx");
var saveOptions = new ImageSaveOptions(SaveFormat.Docx)
{
};
shape.GetShapeRenderer().Save("Output.docx", saveOptions);
using Aspose.Words;
using Aspose.Words.Pdf2Word.FixedFormats;
using var pdfStream = File.OpenRead("Input.docx");
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.docx", 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.
Για περισσότερες λεπτομέρειες, ανατρέξτε στην τεκμηρίωση προϊόντος.