צור מסמכי PDF באמצעות Java

כמתכנת, ייתכן שיהיה עליך ליצור קבצי PDF ביישומי Java בשלב מסוים. לדוגמה, להפקת קבלות, חשבוניות, דוחות עסקיים וכו’. ספריות Java PDF שונות זמינות המאפשרות ליצור קבצי PDF מאפס. עם זאת, מאמר זה הולך לספק לך ספריית Java חזקה, מהירה ואיכותית ליצירת קבצי PDF, מה שמחייב אותך לכתוב מינימום שורות קוד.

אז בואו נראה כיצד ליצור קבצי PDF מאפס ב-Java. כמו כן, הבה נבחן כיצד להוסיף טקסט, תמונות, טבלאות ואלמנטים אחרים במסמך PDF באופן תוכנתי.

ספריית Java PDF

כדי ליצור ולתפעל קבצי PDF, נשתמש ב-Aspose.PDF עבור Java. זוהי ספריית מניפולציה של קבצי PDF ליצירת קבצי PDF עשירים מבלי לכתוב קוד מורכב. באמצעות הספרייה תוכלו ליצור מסמכי PDF פשוטים כמו גם מורכבים. כמו כן, אתה יכול לקבל רישיון חינם ולהפיק את קבצי ה-PDF הרצויים.

ניתן להוריד את Aspose.PDF עבור 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>22.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");

יצירת Java PDF עם עיצוב טקסט

כעת נבדוק כיצד להחיל עיצוב על הטקסט במסמך ה-PDF. עיצוב הטקסט יכול לכלול גופן, גודל גופן, צבע, מיקום וכו’. להלן השלבים לביצוע פעולה זו.

  • השתמש במחלקה מסמך כדי ליצור מסמך 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 עם תמונה ב-Java

להלן השלבים להוספת תמונה לקובץ PDF באמצעות Aspose.PDF עבור Java.

  • צור אובייקט מסמך כדי ליצור או לפתוח את מסמך ה-PDF.
  • קבל את העמוד שאליו ברצונך להוסיף תמונה באובייקט Page.
  • הוסף את התמונה לאוסף Page.getResources().
  • השתמש באופרטורים כדי למקם את התמונה בדף:
    • GSave operator to save the current graphical state.
    • שרשור מטריקס 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());

// שימוש באופרטור Do: אופרטור זה מצייר תמונה
page.getContents().add(new Operator.Do(ximage.getName()));

// שימוש באופרטור GRestore: אופרטור זה משחזר את מצב הגרפיקה
page.getContents().add(new Operator.GRestore());

// שמור את ה-PDF החדש
pdfDocument1.save("Updated_document.pdf");

// סגור את זרם התמונות
imageStream.close();

צור טבלה בקובץ PDF ב-Java

הטבלה היא דרך מצוינת לארגן את הנתונים בצורה של שורות ועמודות. Aspose.PDF מאפשר לך להוסיף טבלה למסמך PDF די בקלות.

להלן השלבים ליצירת טבלת PDF ב-Java.

  • טען את קובץ המקור באמצעות המחלקה Document.
  • אתחול טבלה והגדר את העמודות והשורות שלה.
  • קבע את הגדרת השולחן (למשל גבולות).
  • אכלס את הטבלה על ידי הוספת שורות אליה.
  • הוסף את הטבלה לדף.
  • שמור את קובץ ה-PDF.

דוגמת הקוד הבאה מראה כיצד להוסיף טבלה ב-PDF ב-Java.

// לדוגמאות מלאות וקבצי נתונים, נא עבור אל https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// טען מסמך PDF מקור
Document doc = new Document(dataDir + "input.pdf");
// מאתחל מופע חדש של הטבלה
Table table = new Table();
// הגדר את צבע גבול השולחן כ- Light Grey
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 ב-Java

פורמט PDF תומך גם בהוספת טפסים לאיסוף קלט מהמשתמשים. הטופס עשוי להכיל סוגים שונים של שדות כגון תיבות טקסט, לחצני בחירה וכו’. השלבים הבאים מדגימים כיצד להכניס טופס פשוט לקובץ PDF.

  • טען את מסמך ה-PDF או צור מסמך חדש באמצעות המחלקה Document.
  • צור את שדה הטופס שברצונך להוסיף כגון TextBoxField.
  • הגדר מאפיינים של השדה.
  • הוסף את השדה ל-טופס של ה-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");

קרא עוד על שדות הטופס באמצעות כאן.

Java: צור PDF עם סימניות

להלן השלבים להוספת סימניות בקובץ 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");

ספריית יצירת Java PDF בחינם

אתה יכול לקבל רישיון זמני בחינם ולהפיק קבצי PDF מאפס ללא כל הגבלה.

חקור את ספריית Java PDF

אתה יכול לחקור יותר על Java PDF API באמצעות תיעוד.

סיכום

במאמר זה, למדת כיצד ליצור קבצי PDF מאפס ב-Java. יתר על כן, דוגמאות הקוד של Java הדגימו כיצד להוסיף טקסט, תמונות, טבלאות, טפסים וסימניות בקובצי PDF חדשים או קיימים. אתה יכול בקלות להתקין את הספרייה באפליקציה שלך וליצור קבצי PDF הרצויים לך.

ראה גם