Twórz oprogramowanie przy użyciu zaawansowanego interfejsu API do optymalizacji dokumentów, twórz wysokopoziomowy, niezależny od platformy kod dla .NET i .NET Core. Jest to potężne rozwiązanie do kompresji dokumentów i obrazów w językach C#, F#, VB.NET.
Zmniejsz duże pliki bez utraty jakości. Usuń niepotrzebne i nieużywane dane. Zmniejsz rozmiar Word plików i HTML w C#. Nasza C# biblioteka zapewnia programistom zintegrowany interfejs API do optymalizacji dokumentów w różnych formatach.
Ta C# biblioteka jest samodzielnym rozwiązaniem i nie wymaga instalowania żadnego oprogramowania innych firm.
Maksymalny efekt można uzyskać, optymalizując obrazy o wysokiej rozdzielczości, a także dokumenty zawierające takie obrazy. Nasza C# biblioteka pomoże Ci skompresować DOCX pliki, DOC, RTF, ODT, EPUB, HTML, JPG, PNG.
Optymalizacja dokumentów bez utraty jakości jest łatwa dzięki 'Aspose.Words for .NET'. Poniższy przykład pokazuje, jak zmniejszyć rozmiar Word dokumentu w C#:
dotnet add package Aspose.Words
Kopiuj
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)
{
// Od programisty zależy wybór biblioteki do kompresji obrazu.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Skompresuj obraz i ustaw go z powrotem do kształtu.
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)
{
// Od programisty zależy wybór biblioteki do kompresji obrazu.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Skompresuj obraz i ustaw go z powrotem do kształtu.
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)
{
// Od programisty zależy wybór biblioteki do kompresji obrazu.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Skompresuj obraz i ustaw go z powrotem do kształtu.
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)
{
// Od programisty zależy wybór biblioteki do kompresji obrazu.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Skompresuj obraz i ustaw go z powrotem do kształtu.
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)
{
// Ustaw maksymalny rozmiar strony, aby uniknąć skalowania obrazu bieżącej strony.
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;
}
Istnieją trzy alternatywne opcje instalacji "Aspose.Words for .NET" w systemie. Wybierz taki, który odpowiada Twoim potrzebom i postępuj zgodnie z instrukcjami krok po kroku:
Nasz produkt jest w pełni wieloplatformowy i obsługuje wszystkie główne implementacje .NET:
O ile kod .NET nie jest zależny od sprzętu lub systemu operacyjnego, ale tylko od maszyny wirtualnej, możesz swobodnie tworzyć dowolne oprogramowanie dla systemów Windows, macOS, Android, iOS i Linux. Upewnij się tylko, że masz zainstalowaną odpowiednią wersję .NET Framework, .NET Core, Windows Azure, Mono lub Xamarin.
Do tworzenia aplikacji C#, F#, VB.NET zalecamy używanie zintegrowanych środowisk programistycznych Microsoft Visual Studio, Xamarin i MonoDevelop.
Aby uzyskać więcej informacji, zapoznaj się z dokumentacją produktu.