在不损失质量的情况下使大文件变小。删除不必要和未使用的数据。在 C++ 中缩小 Word 和 HTML 文件的大小。我们的 C++ 库为开发人员提供了一个集成的 API 来优化各种格式的文档。
这个 C++ 库是一个独立的解决方案,不需要安装任何第三方软件。
通过优化高分辨率图像以及包含此类图像的文档,可以获得最大的效果。我们的 C++ 库将帮助您压缩 HTML、DOCX、DOC、RTF、ODT、EPUB、HTML、JPG、PNG 文件。
使用 'Aspose.Words for C++' 可以轻松优化文档而不降低质量。以下示例显示了如何在 C++ 中缩小 Word 文档的大小:
dotnet add package Aspose.Words.Cpp
复制
using namespace Aspose::Words;
auto doc = MakeObject<Document>(u"Input.docx");
doc->Cleanup();
auto nodes = doc->GetChildNodes(NodeType::Shape, true);
for (const auto& shape : System::IterateOver<Shape>(nodes))
{
if (shape->get_HasImage())
{
// 由开发人员选择用于图像压缩的库。
auto image =
System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream());
// ...
// 压缩图像并将其设置回形状。
shape->get_ImageData()->SetImage("yourCompressedImage");
}
}
auto saveOptions = MakeObject<OoxmlSaveOptions>();
saveOptions->set_CompressionLevel(CompressionLevel::Maximum);
doc->Save(u"Output.docx", saveOptions);
using namespace Aspose::Words;
auto doc = MakeObject<Document>(u"Input.docx");
doc->Cleanup();
auto nodes = doc->GetChildNodes(NodeType::Shape, true);
for (const auto& shape : System::IterateOver<Shape>(nodes))
{
if (shape->get_HasImage())
{
// 由开发人员选择用于图像压缩的库。
auto image =
System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream());
// ...
// 压缩图像并将其设置回形状。
shape->get_ImageData()->SetImage("yourCompressedImage");
}
}
auto saveOptions = MakeObject<PdfSaveOptions>();
saveOptions->set_CacheBackgroundGraphics(true);
doc->Save(u"Output.docx", saveOptions);
using namespace Aspose::Words;
auto doc = MakeObject<Document>(u"Input.docx");
doc->Cleanup();
auto nodes = doc->GetChildNodes(NodeType::Shape, true);
for (const auto& shape : System::IterateOver<Shape>(nodes))
{
if (shape->get_HasImage())
{
// 由开发者选择用于图像压缩的库。
auto image = System::Drawing::Image::Fromstream(shape->get_ImageData()->ToStream());
// ...
// 压缩图像并将其设置回形状。
shape->get_ImageData()->SetImage("yourCompressedImage");
}
}
doc->Save(u"Output.docx");
using namespace Aspose::Words;
auto doc = MakeObject<Document>(u"Input.docx");
doc->Cleanup();
auto nodes = doc->GetChildNodes(NodeType::Shape, true);
for (const auto& shape : System::IterateOver<Shape>(nodes))
{
if (shape->get_HasImage())
{
// 由开发人员选择用于图像压缩的库。
auto image =
System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream());
// ...
// 压缩图像并将其设置回形状。
shape->get_ImageData()->SetImage("yourCompressedImage");
}
}
auto saveOptions = MakeObject<OoxmlSaveOptions>();
saveOptions->set_CompressionLevel(CompressionLevel::Maximum);
doc->Save(u"Output.docx", saveOptions);
using namespace Aspose::Words;
auto doc = MakeObject<Document>();
auto builder = MakeObject<DocumentBuilder>(doc);
auto shape = builder->InsertImage(u"Input.docx");
auto saveOptions = MakeObject<ImageSaveOptions>(SaveFormat::Docx);
shape->GetShapeRenderer()->Save(u"Output.docx", saveOptions);
有三个选项可以将 Aspose.Words for C++ 安装到您的开发人员环境中。请选择符合您需求的一种,并按照分步说明进行操作:
您可以使用这个 C++ 库在 Microsoft Windows 、Linux 和 macOS 操作系统上开发软件:
如果您为 Linux 或 macOS 开发软件,请查看产品文档中 fontconfig 和 mesa-glu 开源包)的信息。