PDF هو تنسيق مستند عبر الأنظمة الأساسية يوفر تخطيطًا متسقًا عبر أنظمة تشغيل مختلفة. يتم استخدامه على نطاق واسع لإنشاء المستندات ومشاركتها ، مثل المقالات البحثية والفواتير وما إلى ذلك. أثناء إنشاء ملفات PDF برمجيًا ، غالبًا ما تحتاج إلى تغيير موضع النص واتجاهه وفقًا لتخطيط المستند. في هذه المقالة ، سنوضح لك كيفية تدوير النص داخل مستندات PDF في Java.
Java API لتدوير النص في PDF
لتدوير النص داخل ملفات PDF ، سنستخدم Aspose.PDF لجافا. إنها مكتبة قوية توفر ميزات معالجة أساسية ومتقدمة لملفات PDF. يمكنك تنزيل API أو تثبيته باستخدام تكوينات Maven التالية.
مخزن:
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
الاعتماد:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>22.4</version>
</dependency>
قم بتدوير النص داخل PDF في Java
هناك عدة طرق لتدوير نص داخل مستند PDF. يمكنك إما تدوير جزء نصي أو فقرة كاملة. دعونا نرى كيف يعمل كل من هذه التدويرات النصية.
استدارة نص PDF باستخدام TextFragment في Java
فيما يلي خطوات تدوير جزء نصي في مستند PDF باستخدام Java.
- أولاً ، قم بإنشاء مستند جديد باستخدام فئة Document.
- ثم أضف صفحة إلى المستند واحصل على مرجعها باستخدام طريقة Document.getPages().add().
- بعد ذلك ، قم بإنشاء جزء نصي جديد باستخدام فئة TextFragment.
- تعيين موضع جزء النص والخط.
- اضبط زاوية الدوران باستخدام طريقة TextFragment.getTextState().setRotation().
- أنشئ كائنًا جديدًا TextBuilder وقم بتهيئته باستخدام كائن الصفحة.
- استخدم طريقة TextBuilder.appendText (TextFragment) لإضافة نص إلى الصفحة.
- أخيرًا ، احفظ مستند PDF باستخدام طريقة Document.save(string).
يوضح نموذج التعليمات البرمجية التالي كيفية تدوير النص في مستند PDF في Java.
// تهيئة كائن المستند
Document pdfDocument = new Document();
// احصل على صفحة معينة
Page pdfPage = pdfDocument.getPages().add();
// إنشاء جزء من النص
TextFragment textFragment1 = new TextFragment("main text");
textFragment1.setPosition(new Position(100, 600));
// تعيين خصائص النص
textFragment1.getTextState().setFontSize(12);
textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
// إنشاء جزء نص مستدير
TextFragment textFragment2 = new TextFragment("rotated text");
textFragment2.setPosition(new Position(200, 600));
// تعيين خصائص النص
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment2.getTextState().setRotation(45);
// إنشاء جزء نص مستدير
TextFragment textFragment3 = new TextFragment("rotated text");
textFragment3.setPosition(new Position(300, 600));
// تعيين خصائص النص
textFragment3.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment3.getTextState().setRotation(90);
// إنشاء كائن TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
// قم بإلحاق جزء النص بصفحة PDF
textBuilder.appendText(textFragment1);
textBuilder.appendText(textFragment2);
textBuilder.appendText(textFragment3);
// احفظ المستند
pdfDocument.save("Rotate_Text_TextFragment.pdf");
انتاج |
استدارة نص PDF باستخدام TextParagraph في Java
يمكنك أيضًا تطبيق التدوير على النص أثناء إنشاء فقرة جديدة. يمكن تحقيق ذلك باستخدام فئة TextParagraph. فيما يلي خطوات تطبيق استدارة النص باستخدام فئة TextParagraph.
- أولاً ، قم بإنشاء مستند جديد باستخدام فئة Document.
- ثم أضف صفحة إلى المستند واحصل على مرجعها باستخدام طريقة Document.getPages().add().
- بعد ذلك ، قم بإنشاء كائن TextParagraph جديد.
- قم بإنشاء جزء نص جديد باستخدام فئة TextFragment واضبط النص والخط.
- اضبط زاوية الدوران باستخدام طريقة TextFragment.getTextState().setRotation().
- أضف نصًا إلى فقرة باستخدام طريقة TextParagraph.appendLine (TextFragment).
- أنشئ كائنًا جديدًا TextBuilder وقم بتهيئته باستخدام كائن الصفحة.
- استخدم طريقة TextBuilder.appendParagraph (TextParagraph) لإضافة فقرة إلى الصفحة.
- أخيرًا ، احفظ مستند PDF باستخدام طريقة Document.save(string).
يوضح نموذج التعليمات البرمجية التالي كيفية تدوير النص داخل فقرة في PDF برمجيًا.
// تهيئة كائن المستند
Document pdfDocument = new Document();
// احصل على صفحة معينة
Page pdfPage = (Page) pdfDocument.getPages().add();
// إنشاء نص فقرة
TextParagraph paragraph = new TextParagraph();
paragraph.setPosition(new Position(200, 600));
// إنشاء جزء من النص
TextFragment textFragment1 = new TextFragment("rotated text");
// تعيين خصائص النص
textFragment1.getTextState().setFontSize(12);
textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
// تعيين التناوب
textFragment1.getTextState().setRotation(45);
// إنشاء جزء من النص
TextFragment textFragment2 = new TextFragment("main text");
// تعيين خصائص النص
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
// إنشاء جزء من النص
TextFragment textFragment3 = new TextFragment("another rotated text");
// تعيين خصائص النص
textFragment3.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
// تعيين التناوب
textFragment3.getTextState().setRotation(-45);
// إلحاق أجزاء النص بالفقرة
paragraph.appendLine(textFragment1);
paragraph.appendLine(textFragment2);
paragraph.appendLine(textFragment3);
// إنشاء كائن TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
// قم بإلحاق فقرة النص بصفحة PDF
textBuilder.appendParagraph(paragraph);
// احفظ المستند
pdfDocument.save("Rotate_Text_TextParagraph.pdf");
انتاج |
احصل على ترخيص API مجاني
يمكنك تجربة Aspose.PDF للجافا مجانًا من خلال الحصول على ترخيص مؤقت.
استنتاج
في هذه المقالة ، تعلمت كيفية تدوير النص في PDF برمجيًا باستخدام Java. لقد قمنا بتغطية كيفية تدوير النص باستخدام فئات TextFragment و TextParagraph. بالإضافة إلى ذلك ، يمكنك استكشاف المزيد حول Aspose.PDF لجافا باستخدام التوثيق. في حال كان لديك أي أسئلة أو استفسارات ، يمكنك الاتصال بنا عبر المنتدى.