دعونا نستكشف السيناريوهات المتعلقة بالتناوب في وثائق PDF. قد تكون هناك مواقف قد يكون لديك فيها مستند PDF ممسوح ضوئيًا معكوسًا تحتاج إلى إصلاحه. يمكنك إصلاح مثل هذا المستند عن طريق تدوير صفحات المستند. قد ترغب أيضًا في إضافة نص أو علامات مائية للصور إلى مستند PDF عن طريق تدويرها. تحقيقًا لهذه الغاية ، ستعلمك هذه المقالة كيفية تدوير صفحات PDF والنصوص والصور برمجيًا باستخدام C ++.

واجهة برمجة تطبيقات C ++ لتدوير صفحات PDF والنصوص والصور

Aspose.PDF for C ++ هي مكتبة C ++ تتيح لك إنشاء مستندات PDF وقراءتها وتحديثها. بالإضافة إلى ذلك ، تدعم واجهة برمجة التطبيقات (API) تدوير صفحات PDF والنصوص والصور. يمكنك إما تثبيت API من خلال NuGet أو تنزيلها مباشرة من قسم التنزيلات.

PM> Install-Package Aspose.PDF.Cpp

قم بتدوير صفحات PDF باستخدام C ++

تدوير الصفحات باستخدام Aspose.PDF لـ C ++ سهل للغاية. باستخدام بضعة أسطر من التعليمات البرمجية ، يمكنك تدوير جميع صفحات مستند PDF. فيما يلي خطوات تدوير صفحات PDF باستخدام C ++.

يوضح نموذج التعليمات البرمجية التالي كيفية تدوير صفحات PDF باستخدام C ++.

// افتح مستند PDF المصدر
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// حلقة من خلال الصفحات
for (System::SharedPtr<Page> page : pdfDocument->get_Pages())
{
	// تدوير الصفحة
	page->set_Rotate(Aspose::Pdf::Rotation::on180);
}

// احفظ ملف PDF
pdfDocument->Save(u"OutputDirectory\\Rotated_out.pdf", SaveFormat::Pdf);

تدوير النص على صفحات PDF باستخدام C ++

أثناء إضافة نص إلى مستندات PDF ، يمكنك تغيير العديد من خصائص النص ، بما في ذلك الزاوية الخاصة به. في المثال التالي ، سنضيف نصًا إلى صفحة PDF ونقوم بتدويرها بزاوية 45 درجة. فيما يلي الخطوات لتحقيق ذلك.

يوضح نموذج التعليمات البرمجية التالي كيفية تدوير النص على صفحة PDF باستخدام C ++.

// قم بإنشاء مثيل لفئة المستند
auto pdfDocument = MakeObject<Document>();

// أضف صفحة جديدة
System::SharedPtr<Page> page = pdfDocument->get_Pages()->Add();

// إنشاء كائن TextFragment
System::SharedPtr<TextFragment> textFragment = MakeObject<TextFragment>(u"Rotated Text");

// اضبط موضع النص
textFragment->set_Position(MakeObject<Position>(200, 600));

// تعيين خصائص النص
textFragment->get_TextState()->set_FontSize(12);
textFragment->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
textFragment->get_TextState()->set_BackgroundColor(Aspose::Pdf::Color::get_LightGray());
textFragment->get_TextState()->set_ForegroundColor(Aspose::Pdf::Color::get_Red());
textFragment->get_TextState()->set_Rotation(45);
textFragment->get_TextState()->set_Underline(true);

// إنشاء كائن TextBuilder
System::SharedPtr<TextBuilder> textBuilder = MakeObject<TextBuilder>(page);

// أضف texc إلى الصفحة
textBuilder->AppendText(textFragment);

// احفظ ملف PDF
pdfDocument->Save(u"OutputDirectory\\Rotated_text_out.pdf", SaveFormat::Pdf);

قم بتدوير صورة على صفحة PDF باستخدام C ++

أثناء إضافة الصور إلى مستندات PDF ، يمكنك تعيين العديد من الخصائص مثل الارتفاع والعرض والتعتيم والتدوير وما إلى ذلك. في هذا المثال ، سنضيف صورة إلى صفحة PDF ونقوم بتدويرها بزاوية 90 درجة. فيما يلي خطوات تدوير صورة على صفحة PDF.

يوضح نموذج التعليمات البرمجية التالي كيفية تدوير صورة على صفحة PDF باستخدام C ++.

// افتح مستند PDF المصدر
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// قم بإنشاء كائن ImageStamp
System::SharedPtr<ImageStamp> imageStamp = MakeObject<ImageStamp>(u"SourceDirectory\\aspose.png");

// قم بتعيين خصائص ImageStamp
imageStamp->set_XIndent(250);
imageStamp->set_YIndent(350);
imageStamp->set_Height(100);
imageStamp->set_Width(300);
imageStamp->set_Rotate(Rotation::on90);
imageStamp->set_Opacity(0.5);

// أضف ImageStamp إلى الصفحة
pdfDocument->get_Pages()->idx_get(1)->AddStamp(imageStamp);

// احفظ ملف PDF
pdfDocument->Save(u"OutputDirectory\\Rotated_image_out.pdf", SaveFormat::Pdf);

احصل على رخصة مجانية

يمكنك تجربة واجهة برمجة التطبيقات بدون قيود التقييم من خلال طلب ترخيص مؤقت مجاني.

استنتاج

في هذه المقالة ، تعلمت كيفية تدوير الصفحات والنصوص والصور في مستندات PDF باستخدام C ++. Aspose.PDF for C ++ هي واجهة برمجة تطبيقات واسعة توفر العديد من الميزات الإضافية للعمل مع ملفات PDF. يمكنك استكشاف API بالتفصيل من خلال زيارة الوثائق الرسمية. في حالة وجود أي أسئلة ، لا تتردد في الاتصال بنا على منتدى الدعم المجاني.

أنظر أيضا