Ini ialah penyelesaian profesional untuk memampatkan DOCX menggunakan C#, F#, VB.NET. Gunakan API pengoptimuman DOCX kami untuk membangunkan perisian bebas platform peringkat tinggi untuk platform .NET dan .NET Core. Cuba dalam talian secara percuma!
Jadikan DOCX fail yang besar lebih kecil tanpa kehilangan kualiti. Padamkan data yang tidak perlu dan tidak digunakan. Kecilkan saiz DOCX fail dalam kod. C# menyediakan pembangun dengan API bersepadu untuk mengoptimumkan kandungan DOCX.
C# ialah penyelesaian yang berdiri sendiri dan tidak memerlukan sebarang perisian pihak ketiga dipasang.
Pemampatan tanpa kerugian dan pengoptimuman kandungan dalam dipermudahkan dengan 'Aspose.Words for .NET'. Contoh berikut menunjukkan cara mengoptimumkan kandungan DOCX fail 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.
Anda boleh mengoptimumkan fail dalam banyak format fail lain: