تحويل EPUB إلى PDF
يسمح Aspose.PDF for C++ بسهولة تحويل ملفات EPUB إلى صيغة PDF.
EPUB (اختصار لـ electronic publication) هو معيار كتاب إلكتروني مجاني ومفتوح من المنتدى الدولي للنشر الرقمي (IDPF). الملفات تحمل الامتداد .epub. تم تصميم EPUB للمحتوى القابل لإعادة التدفق، مما يعني أن قارئ EPUB يمكنه تحسين النص لجهاز عرض معين.
يدعم EPUB أيضًا المحتوى ذو التخطيط الثابت. تم تصميم التنسيق كتنسيق فردي يمكن للناشرين وبيوت التحويل استخدامه داخليًا، وكذلك للتوزيع والبيع. إنه يحل محل معيار Open eBook. يتم أيضًا اعتماد نسخة EPUB 3 من قبل مجموعة دراسة صناعة الكتاب (BISG)، وهي جمعية تجارية رائدة في مجال الكتب لأفضل الممارسات المعيارية والبحث والمعلومات والفعاليات، لتغليف المحتوى.
خطوات التحويل:
- قم بإنشاء فئة سلسلة لاسم المسار واسم الملف.
- قم بإنشاء مثيل للفئة خيارات تحميل Epub.
- قم بإنشاء مثيل للفئة المستند مع ذكر اسم الملف المصدر والخيارات.
- قم بتحميل الملف واحفظه.
الشفرة التالية توضح لك كيفية تحويل ملفات EPUB إلى تنسيق PDF باستخدام C++.
void ConvertEPUBtoPDF()
{
std::clog << "EPUB to PDF convert: Start" << std::endl;
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("aliceDynamic.epub");
String outfilename("epub_test.pdf");
auto options = MakeObject<EpubLoadOptions>();
try {
auto document = MakeObject<Document>(_dataDir + infilename, options);
document->Save(_dataDir + outfilename);
}
catch (System::Exception ex) {
std::cerr << ex->get_Message() << std::endl;
}
std::clog << "EPUB to PDF convert: End" << std::endl;
}
حاول تحويل EPUB إلى PDF عبر الإنترنت
Aspose.PDF لـ C++ يقدم لك تطبيقًا مجانيًا عبر الإنترنت “EPUB to PDF”، حيث يمكنك محاولة التحقيق في الوظائف والجودة التي يعمل بها.
تحويل النص إلى PDF
Aspose.PDF لـ C++ يدعم ميزة تحويل النص العادي وملف النص المسبق التنسيق إلى تنسيق PDF.
تحويل النص إلى PDF يعني إضافة أجزاء من النص إلى صفحة PDF. أما بالنسبة لملفات النصوص، فنحن نتعامل مع نوعين من النصوص: التنسيق المسبق (على سبيل المثال، 25 سطرًا بـ 80 حرفًا لكل سطر) والنص غير المنسق (النص العادي). اعتمادًا على احتياجاتنا، يمكننا التحكم في هذه الإضافة بأنفسنا أو إسنادها إلى خوارزميات المكتبة.
تحويل ملف نصي عادي إلى PDF
في حالة الملف النصي العادي، يمكننا استخدام التقنية التالية:
- إنشاء فئة سلسلة لاسم المسار واسم الملف.
- قراءة ملف النص المصدر باستخدام قارئ النص
- إنشاء كائن وثيقة.
- إضافة صفحة إلى مجموعة الصفحات في الوثيقة.
- إنشاء كائن جديد من TextFragment وتمرير كائن TextReader إلى المنشئ الخاص به.
- إضافة فقرة نصية جديدة في مجموعة الفقرات وتمرير كائن TextFragment.
- تحميل وحفظ الملف المدخل.
void ConvertTextToPDF()
{
std::clog << "Text to PDF convert: Start" << std::endl;
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.txt");
String outfilename("TextToPDF.pdf");
// Read the source text file
String content = System::IO::File::ReadAllText(_dataDir + infilename);
// Instantiate a Document object by calling its empty constructor
auto document = MakeObject<Document>();
// Add a new page in Pages collection of Document
auto page = document->get_Pages()->Add();
// Create an instance of TextFragmet and pass the text from reader object to its constructor as argument
auto text = MakeObject<TextFragment>(content);
// Add a new text paragraph in paragraphs collection and pass the TextFragment object
auto paragraphs = page->get_Paragraphs();
paragraphs->Add(text);
// Save resultant PDF file
document->Save(_dataDir + outfilename);
std::clog << "Text to PDF convert: End" << std::endl;
}
تحويل ملف نصي مهيأ مسبقاً إلى PDF
تحويل النص المهيأ مسبقاً يشبه النص العادي ولكن تحتاج إلى اتخاذ بعض الإجراءات الإضافية مثل ضبط الهوامش، نوع الخط وحجمه. من الواضح أن الخط يجب أن يكون ثابت العرض (على سبيل المثال Courier New).
اتبع هذه الخطوات لتحويل النص المهيأ مسبقاً إلى PDF باستخدام C++:
- إنشاء كائن Document عن طريق استدعاء منشئه الفارغ.
- ضبط الهوامش اليسرى واليمنى لتحسين العرض.
- إنشاء كائن Document وإضافة صفحة جديدة في مجموعة Pages.
- تحميل وحفظ ملف الصورة المدخل.
void ConvertPreFormattedTextToPdf()
{
std::clog << "Performatted Text to PDF convert: Start" << std::endl;
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("rfc822.txt");
String outfilename("TextToPDF.pdf");
// قراءة ملف النص كصفيف من السلاسل
auto lines = System::IO::File::ReadAllLines(_dataDir + infilename);
// إنشاء كائن Document عن طريق استدعاء منشئه الفارغ
auto document = MakeObject<Document>();
// إضافة صفحة جديدة في مجموعة Pages من Document
auto page = document->get_Pages()->Add();
// ضبط الهوامش اليسرى واليمنى لتحسين العرض
page->get_PageInfo()->get_Margin()->set_Left(20);
page->get_PageInfo()->get_Margin()->set_Right(10);
page->get_PageInfo()->get_DefaultTextState()->set_Font(FontRepository::FindFont(u"Courier New"));
page->get_PageInfo()->get_DefaultTextState()->set_FontSize(12);
for (int index = 0; index < lines->get_Length(); index++)
{
// التحقق مما إذا كانت السطر يحتوي على حرف "تغذية الصفحة"
// انظر https://en.wikipedia.org/wiki/Page_break
auto line = lines->idx_get(index);
if (line.StartsWith(u"\x0c"))
{
if (document->get_Pages()->get_Count() > 3) break;
page = document->get_Pages()->Add();
// ضبط الهوامش اليسرى واليمنى لتحسين العرض
page->get_PageInfo()->get_Margin()->set_Left(20);
page->get_PageInfo()->get_Margin()->set_Right(10);
page->get_PageInfo()->get_DefaultTextState()->set_Font(FontRepository::FindFont(u"Courier New"));
page->get_PageInfo()->get_DefaultTextState()->set_FontSize(12);
}
else
{
// إنشاء مثيل لـ TextFragment و
// تمرير السطر إلى منشئه كوسيطة
auto text = MakeObject<TextFragment>(line);
// إضافة فقرة نصية جديدة في مجموعة الفقرات وتمرير كائن TextFragment
page->get_Paragraphs()->Add(text);
}
}
// حفظ ملف PDF الناتج
document->Save(_dataDir + outfilename);
std::clog << "Performatted Text to PDF convert: End" << std::endl;
}
جرب تحويل النص إلى PDF عبر الإنترنت
تقدم Aspose.PDF for C++ تطبيقًا مجانيًا عبر الإنترنت “Text to PDF”، حيث يمكنك محاولة التحقق من الوظائف والجودة التي يعمل بها.
تحويل XPS إلى PDF
Aspose.PDF for C++ يدعم ميزة تحويل ملفات XPS إلى تنسيق PDF. تحقق من هذه المقالة لحل مهامك.
نوع ملف XPS يرتبط أساسًا بمواصفات الورق XML من قبل شركة مايكروسوفت. مواصفات الورق XML (XPS)، كانت تعرف سابقًا بالاسم الرمزي Metro وتشمل مفهوم التسويق لمسار الطباعة من الجيل التالي (NGPP)، وهي مبادرة مايكروسوفت لدمج إنشاء المستندات وعرضها في نظام التشغيل Windows.
تنسيق الملف هو في الأساس ملف XML مضغوط يستخدم في المقام الأول للتوزيع والتخزين.
من أجل تحويل XPS إلى PDF باستخدام Aspose.PDF لـ C++، قمنا بتقديم فئة تسمى XpsLoadOption والتي تُستخدم لتهيئة كائن LoadOptions. لاحقًا، يتم تمرير هذا الكائن كوسيط أثناء تهيئة كائن Document ويساعد محرك عرض PDF في تحديد تنسيق إدخال المستند المصدر.
يوضح مقطع الشفرة التالي عملية تحويل ملف XPS إلى تنسيق PDF باستخدام C++.
void ConvertXPStoPDF()
{
std::clog << "XPS to PDF convert: Start" << std::endl;
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.oxps");
String outfilename("XPStoPDF.pdf");
auto options = MakeObject<XpsLoadOptions>();
try {
auto document = MakeObject<Document>(_dataDir + infilename, options);
document->Save(_dataDir + outfilename);
}
catch (System::Exception ex) {
std::cerr << ex->get_Message() << std::endl;
};
std::clog << "XPS to PDF convert: Finish" << std::endl;
}
حاول تحويل تنسيق XPS إلى PDF عبر الإنترنت
يقدم لك Aspose.PDF for C++ تطبيقًا مجانيًا عبر الإنترنت “XPS to PDF”، حيث يمكنك محاولة استكشاف الوظائف والجودة التي يعمل بها.
تحويل XML إلى PDF
يستخدم تنسيق XML لتخزين البيانات المنظمة. هناك عدة طرق لتحويل XML إلى PDF في Aspose.PDF.
تحويل XSL-FO إلى PDF
- إنشاء فئة سلسلة لاسم المسار واسم الملف.
- إنشاء كائن XslFoLoadOption.
- تعيين استراتيجية معالجة الأخطاء.
- إنشاء كائن وثيقة. احفظ ملف الصورة المدخلة.
void Convert_XSLFO_to_PDF()
{
std::clog << "XSL-FO to PDF convert: Start" << std::endl;
String _dataDir("C:\\Samples\\Conversion\\");
String infilenameXSL("c:\\samples\\employees.xslt");
String infilenameXML("c:\\samples\\employees.xml");
String outfilename("XMLFOtoPDF.pdf");
// Instantiate XslFoLoadOption object
auto options = new XslFoLoadOptions(infilenameXSL);
// Set error handling strategy
options->ParsingErrorsHandlingType = XslFoLoadOptions::ParsingErrorsHandlingTypes::ThrowExceptionImmediately;
// Create Document object
auto document = MakeObject<Document>(infilenameXML, options);
document->Save(_dataDir + outfilename);
}
حاول تحويل XML إلى PDF عبر الإنترنت
Aspose.PDF for C++ يقدم لك تطبيقًا مجانيًا عبر الإنترنت “XML إلى PDF”، حيث يمكنك محاولة استكشاف الوظيفة والجودة التي يعمل بها.