لا نقبل حاليًا ملفات DOCX كمدخلات. لكن يمكننا إنتاج ملفات DOCX كإخراج. نتطلع إلى دعم DOCX الكامل في المستقبل القريب.
تعد مكتبة C++ حلاً قائمًا بذاته ولا يتطلب تثبيت أي برنامج تابع لجهة خارجية.
اجعل ملفات DOCX أصغر دون فقدان الجودة. توفر مكتبة C++ للمطورين واجهة برمجة تطبيقات متكاملة لتحسين محتوى DOCX. يحدث تحسين DOCX عن طريق ضغط الصور داخل ملفات DOCX، وكذلك عن طريق إزالة البيانات غير المستخدمة.
أصبح الضغط غير المنقوص للكتب الإلكترونية وتحسين المحتوى أمرًا سهلاً باستخدام 'Aspose.Words for C++'. يوضح المثال التالي كيفية تحسين محتوى ملف DOCX في C++:
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");
}
}
doc->Save(u"Output.epub");
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.epub", 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.epub");
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.epub", 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.epub", saveOptions);
هناك ثلاثة خيارات لتثبيت Aspose.Words for C++ في بيئة المطور لديك. يرجى اختيار واحد يناسب احتياجاتك واتبع التعليمات خطوة بخطوة:
يمكنك استخدام مكتبة C++ هذه لتطوير البرامج على Microsoft Windows و Linux و macOS:
إذا قمت بتطوير برنامج لنظام التشغيل Linux أو macOS، فالرجاء التحقق من المعلومات حول التبعيات الإضافية للمكتبة (fontconfig mesa-glu مفتوحة المصدر) في وثائق المنتج.