Розробляйте програмне забезпечення з використанням передового 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.
Для отримання додаткової інформації зверніться до документації продукту.