Разработвайте софтуер, използвайки усъвършенстван 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" вашата система. Моля, изберете такъв, който прилича на вашите нужди и следвайте инструкциите стъпка по стъпка:
Нашият продукт е изцяло междуплатформен и поддържа всички основни .NET реализации:
Доколкото .NET кодът не зависи от основния хардуер или операционна система, а само от виртуална машина, вие сте свободни да разработвате всякакъв вид софтуер за Windows, macOS, Android, iOS и Linux. Просто се уверете, че сте инсталирали съответната версия на .NET Framework, .NET Core, Windows Azure, Mono или Xamarin.
Препоръчваме да използвате Microsoft Visual Studio, Xamarin и MonoDevelop интегрирани среди за разработка за създаване на C#, F#, VB.NET приложения.
За повече подробности, моля, вижте продуктовата документация.