في هذه المقالة ، ستتعلم كيفية إنشاء ملف PDF من البداية برمجيًا في Java.

قم بإنشاء مستندات PDF باستخدام Java

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

Java API لإنشاء ملف PDF - تنزيل مجاني

Aspose.PDF for Java هي واجهة برمجة تطبيقات لمعالجة ملفات PDF تجعلك تنشئ ملفات PDF من داخل تطبيقات Java. باستخدام API ، يمكنك إنشاء مستندات PDF بسيطة ومعقدة. يمكن تنزيل Aspose.PDF for Java كـ JAR أو تثبيته ضمن التطبيقات المستندة إلى Maven.

<repository>
    <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>20.11</version>
    <classifier>jdk17</classifier>
</dependency>

قم بإنشاء ملف PDF في Java

فيما يلي خطوات إنشاء ملف PDF بسيط من البداية وإدراج جزء من النص فيه.

يوضح نموذج التعليمات البرمجية التالي كيفية إنشاء ملف PDF باستخدام Java.

// للحصول على أمثلة وملفات بيانات كاملة ، يرجى الانتقال إلى https://github.com/aspose-pdf/Aspose.PDF-for-Java
// تهيئة كائن المستند
Document document = new Document();
 
//إضافة صفحة
Page page = document.getPages().add();
 
// أضف نصًا إلى صفحة جديدة
page.getParagraphs().add(new TextFragment("Hello World!"));
 
// احفظ ملف PDF المحدث
document.save("HelloWorld_out.pdf");

قم بإنشاء ملف PDF بتنسيق نص في Java

دعنا الآن نتحقق من كيفية تطبيق التنسيق على النص في مستند PDF. يمكن أن يشتمل تنسيق النص على الخط وحجم الخط واللون والموضع وما إلى ذلك. فيما يلي خطوات تنفيذ هذه العملية.

  • استخدم فئة Document لإنشاء مستند PDF جديد أو تحميل مستند موجود.
  • قم بالوصول إلى الصفحة التي تريد وضع النص عليها.
  • قم بإنشاء كائن من TextFragment لتعيين النص وخيارات التنسيق الأخرى مثل الموضع والخط واللون والحجم ، إلخ.
  • استخدم فئة TextBuilder لإضافة كائن TextFragment إلى الصفحة.
  • استخدم طريقة Document.save(String) لحفظ مستند PDF.

يوضح نموذج التعليمات البرمجية التالي كيفية إنشاء ملف PDF وتطبيق تنسيق النص باستخدام Java.

// قم بتحميل مستند PDF
Document document = new Document();

// إضافة صفحة
Page page = document.getPages().add();

// إنشاء جزء من النص
TextFragment textFragment = new TextFragment(
		"Text 1: We have now applied text formatting. This is PDF generated by Aspose.PDF for .NET");
textFragment.setPosition(new Position(100, 700));
TextFragment textFragment1 = new TextFragment(
		"Text 2: We have now applied text formatting. This is PDF generated by Aspose.PDF for .NET");
textFragment1.setPosition(new Position(100, 600));

// تعيين خصائص النص
textFragment.getTextState().setFontSize(12);
textFragment.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment.getTextState().setBackgroundColor(Color.getLightGray());
textFragment.getTextState().setForegroundColor(Color.getRed());

textFragment1.getTextState().setDrawTextRectangleBorder(true);
textFragment1.getTextState().setUnderline(true);
textFragment1.getTextState().setStrikeOut(true);

// إنشاء لون جديد مع مساحة ألوان النمط
Color color = new Color();
color.setPatternColorSpace(new GradientAxialShading(Color.getRed(), Color.getBlue()));		
textFragment1.getTextState().setForegroundColor(color);

// إنشاء كائن TextBuilder
TextBuilder textBuilder = new TextBuilder(page);

// قم بإلحاق أجزاء النص بصفحة PDF
textBuilder.appendText(textFragment);
textBuilder.appendText(textFragment1);

// احفظ مستند PDF
document.save("Generated-PDF.pdf");

جافا إنشاء ملفات PDF مع صورة

فيما يلي خطوات إدراج صورة في ملف PDF باستخدام Aspose.PDF لجافا.

  • قم بإنشاء كائن مستند لإنشاء أو فتح مستند PDF.
  • احصل على الصفحة التي تريد إضافة صورة إليها في كائن Page.
  • أضف الصورة إلى مجموعة Page.getResources().
  • استخدم عوامل التشغيل لوضع الصورة على الصفحة:
    • GSave operator to save the current graphical state.
    • ConcatenateMatrix operator to specify where the image is to be placed.
    • يفعل operator to draw the image on the page.
    • أخيرًا ، استخدم عامل التشغيل GRestore لحفظ الحالة الرسومية المحدثة.
  • احفظ ملف PDF.

يوضح نموذج التعليمات البرمجية التالي كيفية إدراج صورة في ملف PDF في Java.

// للحصول على أمثلة وملفات بيانات كاملة ، يرجى الانتقال إلى https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// افتح مستندًا
Document pdfDocument1 = new Document("input.pdf");

// ضبط الإحداثيات
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;

// احصل على الصفحة التي تريد إضافة الصورة إليها
Page page = pdfDocument1.getPages().get_Item(1);

// تحميل الصورة في تيار
java.io.FileInputStream imageStream = new java.io.FileInputStream(new java.io.File("input_image1.jpg"));

// أضف صورة إلى مجموعة الصور لمصادر الصفحة
page.getResources().getImages().add(imageStream);

// باستخدام عامل تشغيل GSave: يحفظ هذا المشغل حالة الرسومات الحالية
page.getContents().add(new Operator.GSave());

// إنشاء كائنات مستطيل ومصفوفة
Rectangle rectangle = new Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.getURX() - rectangle.getLLX(), 0, 0, rectangle.getURY() - rectangle.getLLY(), rectangle.getLLX(), rectangle.getLLY() });

// باستخدام عامل ConcatenateMatrix (مصفوفة متسلسلة): يحدد كيفية وضع الصورة
page.getContents().add(new Operator.ConcatenateMatrix(matrix));
XImage ximage = page.getResources().getImages().get_Item(page.getResources().getImages().size());

// باستخدام عامل التشغيل: يقوم هذا العامل برسم الصورة
page.getContents().add(new Operator.Do(ximage.getName()));

// باستخدام عامل GRestore: يستعيد هذا المشغل حالة الرسومات
page.getContents().add(new Operator.GRestore());

// احفظ ملف PDF الجديد
pdfDocument1.save("Updated_document.pdf");

// إغلاق دفق الصورة
imageStream.close();

قم بإنشاء جدول في ملف PDF بجافا

يعتبر الجدول طريقة جيدة لتنظيم البيانات في شكل صفوف وأعمدة. يتيح لك Aspose.PDF إدراج جدول في مستند PDF بسهولة تامة. فيما يلي خطوات إنشاء جدول.

  • قم بتحميل الملف المصدر باستخدام فئة مستند.
  • قم بتهيئة جدول وتعيين أعمدته وصفوفه.
  • ضبط إعداد الجدول (مثل الحدود).
  • املأ الجدول بإضافة صفوف إليه.
  • أضف الجدول إلى الصفحة.
  • احفظ ملف PDF.

يوضح نموذج التعليمات البرمجية التالي كيفية إنشاء جدول في ملفات PDF في Java.

// للحصول على أمثلة وملفات بيانات كاملة ، يرجى الانتقال إلى https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// تحميل مستند PDF المصدر
Document doc = new Document(dataDir + "input.pdf");
// يقوم بتهيئة مثيل جديد للجدول
Table table = new Table();
// اضبط لون حدود الجدول على LightGray
table.setBorder(new BorderInfo(BorderSide.All, .5f, Color.getLightGray()));
// تعيين الحدود لخلايا الجدول
table.setDefaultCellBorder(new BorderInfo(BorderSide.All, .5f, Color.getLightGray()));
// قم بإنشاء حلقة لإضافة 10 صفوف
for (int row_count = 1; row_count < 10; row_count++) {
	// أضف صفًا إلى الجدول
	Row row = table.getRows().add();
	// أضف خلايا الجدول
	row.getCells().add("Column (" + row_count + ", 1)");
	row.getCells().add("Column (" + row_count + ", 2)");
	row.getCells().add("Column (" + row_count + ", 3)");
}
// أضف كائن جدول إلى الصفحة الأولى من مستند الإدخال
doc.getPages().get_Item(1).getParagraphs().add(table);
// احفظ المستند المحدث الذي يحتوي على كائن جدول
doc.save(dataDir + "document_with_table.pdf");

إنشاء نموذج في ملف PDF في جافا

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

  • قم بتحميل مستند PDF أو أنشئ مستندًا جديدًا باستخدام فئة المستند.
  • قم بإنشاء حقل النموذج الذي تريد إضافته مثل TextBoxField.
  • تعيين خصائص المجال.
  • أضف الحقل إلى Form من ملف PDF باستخدام طريقة pdfDocument.getForm().add (Field، Int).
  • احفظ مستند PDF.

يوضح نموذج التعليمات البرمجية التالي كيفية إنشاء نموذج في ملف PDF في Java.

// للحصول على أمثلة وملفات بيانات كاملة ، يرجى الانتقال إلى https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// افتح مستندًا
Document pdfDocument = new Document("input.pdf");

// قم بإنشاء حقل
TextBoxField textBoxField1 = new TextBoxField(pdfDocument.getPages().get_Item(1), new Rectangle(100, 200, 300, 300));

// عيّن اسم الحقل
textBoxField1.setPartialName("textbox1");

// عيّن قيمة الحقل
textBoxField1.setValue("Text Box");

// قم بإنشاء كائن حد
Border border = new Border(textBoxField1);

// اضبط عرض الحد
border.setWidth(5);

// عيّن نمط شرطة الحدود
border.setDash(new Dash(1, 1));

// عيّن حد الحقل
textBoxField1.setBorder(border);

// أضف الحقل إلى المستند
pdfDocument.getForm().add(textBoxField1, 1);

// احفظ ملف PDF المعدل
pdfDocument.save("output.pdf");

اقرأ المزيد عن حقول النموذج باستخدام هنا.

قم بإدراج الإشارات المرجعية في ملف PDF في Java

فيما يلي خطوات إضافة إشارات مرجعية في ملف PDF.

  • افتح مستند PDF باستخدام كائن المستند.
  • أضف مخططات تفصيلية للمستندات إلى مجموعة OutlineItemCollection.
  • قم بتعيين رقم الصفحة الوجهة.
  • أضف الإشارة المرجعية في مجموعة المخطط التفصيلي للمستند.
  • احفظ ملف PDF.

يوضح نموذج التعليمات البرمجية التالي كيفية إدراج الإشارات المرجعية في PDF باستخدام Java.

// للحصول على أمثلة وملفات بيانات كاملة ، يرجى الانتقال إلى https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// افتح مستند PDF المصدر
Document pdfDocument = new Document("input.pdf");

// قم بإنشاء كائن إشارة مرجعية
OutlineItemCollection pdfOutline = new OutlineItemCollection(pdfDocument.getOutlines());
pdfOutline.setTitle("Test Outline");
pdfOutline.setItalic(true);
pdfOutline.setBold(true);

// قم بتعيين رقم الصفحة الوجهة
pdfOutline.setAction(new GoToAction(pdfDocument.getPages().get_Item(1)));

// أضف إشارة مرجعية في مجموعة المخطط التفصيلي للمستند.
pdfDocument.getOutlines().add(pdfOutline);

// احفظ مستند التحديث
pdfDocument.save("output.pdf");

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

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

استنتاج

في هذه المقالة ، تعلمت كيفية إنشاء ملفات PDF من البداية بجافا. علاوة على ذلك ، أظهرت نماذج كود Java كيفية إدراج نصوص وصور وجداول ونماذج وإشارات مرجعية في ملفات PDF جديدة أو موجودة. يمكنك استكشاف المزيد حول Java PDF API باستخدام التوثيق.

أنظر أيضا