큰 DOCX 파일을 품질 손실 없이 작게 만듭니다. 불필요하고 사용하지 않는 데이터를 삭제하십시오. 코드에서 DOCX 파일의 크기를 줄입니다. C# 라이브러리는 개발자에게 DOCX 콘텐츠를 최적화하기 위한 통합 API를 제공합니다.
C# 라이브러리는 독립 실행형 솔루션이며 타사 소프트웨어를 설치할 필요가 없습니다.
'Aspose.Words for .NET' 으로 무손실 압축 및 심층 콘텐츠 최적화가 쉬워졌습니다. 다음 예제는 C# 에서 C# DOCX 파일의 내용을 최적화하는 방법을 보여줍니다.
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 for .NET" 을 설치하는 세 가지 대체 옵션이 있습니다. 귀하의 요구 사항과 유사한 것을 선택하고 단계별 지침을 따르십시오.
우리 제품은 완전히 크로스 플랫폼이며 모든 주요 .NET 구현을 지원합니다.
.NET 코드가 기본 하드웨어나 운영 체제에 의존하지 않고 가상 머신에만 의존하는 한 Windows, macOS, Android, iOS 및 Linux용 모든 종류의 소프트웨어를 자유롭게 개발할 수 있습니다. 해당 버전의 .NET Framework, .NET Core, Windows Azure, Mono 또는 Xamarin 설치했는지 확인하세요.
C#, F#, VB.NET 애플리케이션을 생성하려면 Microsoft Visual Studio, Xamarin 및 MonoDevelop 통합 개발 환경을 사용하는 것이 좋습니다.
자세한 내용은 제품 설명서 를 참조하십시오.
다른 많은 파일 형식으로 파일을 최적화할 수 있습니다.