Bangunkan perisian menggunakan API pengoptimuman dokumen lanjutan, cipta kod bebas platform peringkat tinggi untuk platform .NET dan .NET Core. Ini ialah penyelesaian yang berkuasa untuk memampatkan dokumen dan imej dalam C#, F#, VB.NET.
Jadikan fail besar lebih kecil tanpa kehilangan kualiti. Padamkan data yang tidak perlu dan tidak digunakan. Kecilkan saiz Word fail dan HTML dalam C#. C# kami menyediakan pembangun dengan API bersepadu untuk mengoptimumkan dokumen dalam pelbagai format.
C# ini ialah penyelesaian yang berdiri sendiri dan tidak memerlukan sebarang perisian pihak ketiga dipasang.
Kesan maksimum boleh diperoleh dengan mengoptimumkan imej resolusi tinggi, serta dokumen yang mengandungi imej sedemikian. C# kami akan membantu anda untuk memampatkan DOCX fail, DOC, RTF, ODT, EPUB, HTML, JPG, PNG.
Pengoptimuman dokumen tanpa kehilangan kualiti dipermudahkan dengan 'Aspose.Words for .NET'. Contoh berikut menunjukkan cara mengecilkan saiz Word dokumen dalam C#:
dotnet add package Aspose.Words
Salinan
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)
{
// kepada pembangun untuk memilih perpustakaan untuk pemampatan imej.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Mampatkan imej dan tetapkannya semula kepada bentuk.
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)
{
// kepada pembangun untuk memilih perpustakaan untuk pemampatan imej.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Mampatkan imej dan tetapkannya semula kepada bentuk.
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)
{
// kepada pembangun untuk memilih perpustakaan untuk pemampatan imej.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Mampatkan imej dan tetapkannya semula kepada bentuk.
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)
{
// kepada pembangun untuk memilih perpustakaan untuk pemampatan imej.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Mampatkan imej dan tetapkannya semula kepada bentuk.
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)
{
// Tetapkan saiz halaman maksimum untuk mengelakkan penskalaan imej halaman semasa.
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;
}
Terdapat tiga pilihan alternatif untuk memasang "Aspose.Words untuk .NET" sistem anda. Sila pilih satu yang menyerupai keperluan anda dan ikut arahan langkah demi langkah:
Produk kami adalah merentas platform sepenuhnya dan menyokong semua pelaksanaan .NET utama:
Setakat kod .NET tidak bergantung pada perkakasan atau sistem pengendalian asas, tetapi hanya pada Mesin Maya, anda bebas untuk membangunkan sebarang jenis perisian untuk Windows, macOS, Android, iOS dan Linux. Cuma pastikan anda telah memasang versi .NET Framework, .NET Core, Windows Azure, Mono atau Xamarin yang sepadan.
Kami mengesyorkan menggunakan Microsoft Visual Studio, Xamarin dan persekitaran pembangunan bersepadu MonoDevelop untuk mencipta aplikasi C#, F#, VB.NET.
Untuk maklumat lanjut sila rujuk Dokumentasi Produk.