To je profesionalna rešitev za stiskanje DOCX s C#, F#, VB.NET. Uporabite naš API za optimizacijo DOCX za razvoj programske opreme na visoki ravni, neodvisne od platforme za platforme .NET in .NET Core. Preizkusite na spletu brezplačno!
Pomanjšajte velike DOCX datoteke brez izgube kakovosti. Izbrišite nepotrebne in neuporabljene podatke. Zmanjšajte velikost DOCX datoteke v kodi. Knjižnica C# razvijalcem ponuja integriran API za optimizacijo vsebine DOCX.
Knjižnica C# je samostojna rešitev in ne zahteva nameščene programske opreme tretjih oseb.
Stiskanje brez izgub in globoka optimizacija vsebine sta poenostavljena z 'Aspose.Words for .NET'. Naslednji primer prikazuje, kako optimizirati vsebino DOCX datoteke v C#:
dotnet add package Aspose.Words
Kopirati
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)
{
// Razvijalec mora izbrati knjižnico za stiskanje slike.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Stisnite sliko in jo nastavite nazaj v obliko.
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)
{
// Razvijalec mora izbrati knjižnico za stiskanje slike.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Stisnite sliko in jo nastavite nazaj v obliko.
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)
{
// Razvijalec mora izbrati knjižnico za stiskanje slik.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Stisnite sliko in jo vrnite v obliko.
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)
{
// Razvijalec mora izbrati knjižnico za stiskanje slike.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Stisnite sliko in jo nastavite nazaj v obliko.
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)
{
// Nastavite največjo velikost strani, da se izognete spreminjanju velikosti slike trenutne strani.
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;
}
Obstajajo tri alternativne možnosti za namestitev "Aspose.Words za .NET" v vaš sistem. Izberite tistega, ki ustreza vašim potrebam, in sledite navodilom po korakih:
Naš izdelek je popolnoma večplatformski in podpira vse glavne implementacije .NET:
Kar zadeva kodo .NET, ki ni odvisna od osnovne strojne opreme ali operacijskega sistema, ampak samo od navideznega stroja, lahko prosto razvijate kakršno koli programsko opremo za Windows, macOS, Android, iOS in Linux. Prepričajte se le, da ste namestili ustrezno različico .NET Framework, .NET Core, Windows Azure, Mono ali Xamarin.
Priporočamo uporabo integriranih razvojnih okolij Microsoft Visual Studio, Xamarin in MonoDevelop za ustvarjanje aplikacij C#, F#, VB.NET.
Za več podrobnosti glejte dokumentacijo izdelka.
Datoteke lahko optimizirate v številnih drugih oblikah datotek: