Ez egy professzionális megoldás a DOCX tömörítésére C#, F#, VB.NET használatával. Használja DOCX optimalizálási API nkat magas szintű, platformfüggetlen szoftverek fejlesztéséhez .NET és .NET Core platformokhoz. Próbáld ki online ingyen!
Csökkentse a nagy DOCX fájlokat minőségromlás nélkül. Törölje a felesleges és fel nem használt adatokat. Csökkentse a DOCX fájl méretét a kódban. A C# könyvtár integrált API t biztosít a fejlesztőknek a DOCX tartalom optimalizálásához.
C# könyvtár egy önálló megoldás, és nem igényel harmadik féltől származó szoftvert.
A veszteségmentes tömörítés és a mély tartalomoptimalizálás egyszerűbbé válik az 'Aspose.Words for .NET'. A következő példa bemutatja, hogyan lehet optimalizálni egy DOCX C#:
dotnet add package Aspose.Words
Másolat
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)
{
// A fejlesztőn múlik, hogy kiválasztja-e a könyvtárat a képtömörítéshez.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Tömörítse a képet, és állítsa vissza az alakzatba.
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)
{
// A fejlesztőn múlik, hogy kiválasztja-e a könyvtárat a képtömörítéshez.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Tömörítse a képet, és állítsa vissza az alakzatba.
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)
{
// A fejlesztőn múlik, hogy kiválasztja-e a könyvtárat a képtömörítéshez.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Tömörítse a képet, és állítsa vissza az alakzatba.
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)
{
// A fejlesztőn múlik, hogy kiválasztja-e a könyvtárat a képtömörítéshez.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Tömörítse a képet, és állítsa vissza az alakzatba.
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)
{
// Állítsa be a maximális oldalméretet, hogy elkerülje az aktuális oldalkép méretezését.
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;
}
Három alternatív lehetőség van az "Aspose.Words for .NET" telepítésére a rendszerre. Kérjük, válasszon egyet, amely megfelel az Ön igényeinek, és kövesse a lépésről lépésre található utasításokat:
Termékünk teljes mértékben platformfüggetlen, és támogatja az összes főbb .NET implementációt:
Ami a .NET-kódot illeti, nem függ a mögöttes hardvertől vagy operációs rendszertől, hanem csak egy virtuális gépen, szabadon fejleszthet bármilyen szoftvert Windows, macOS, Android, iOS és Linux rendszerre. Csak győződjön meg arról .NET Framework, .NET Core, Windows Azure, Mono vagy Xamarin megfelelő verzióját telepítette.
C#, F#, VB.NET alkalmazások létrehozásához javasoljuk a Microsoft Visual Studio, Xamarin és MonoDevelop integrált fejlesztői környezetek használatát.
További részletekért lásd a Termékdokumentációt.
Számos más fájlformátumban is optimalizálhatja a fájlokat: