Різні типи публікацій, наприклад журнали, газети, дослідницькі статті тощо, використовують макети сторінок у кілька стовпців. Під час програмного створення таких документів вам може знадобитися створити PDF-файли з кількома стовпцями. Для таких випадків у цій статті описано, як створити PDF-файл із кількома стовпцями в Java.
Бібліотека Java для створення PDF-файлів із кількома стовпцями
Щоб створити PDF-файл із кількома стовпцями, ми використаємо Aspose.PDF for Java. Це багатофункціональна бібліотека обробки PDF-файлів, яка дозволяє створювати як прості, так і складні PDF-файли з нуля.
Ви можете завантажити JAR бібліотеки або встановити його у своїй програмі Java за допомогою наступних конфігурацій 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.12</version>
</dependency>
Створіть багатоколонковий PDF-файл у Java
Aspose.PDF for Java значно спрощує створення PDF-файлу з кількома стовпцями. Нижче наведено кроки для досягнення цього.
- Спочатку створіть новий об’єкт Document.
- Потім установіть поля сторінки за допомогою методів Document.getPageInfo().getMargin().setLeft() і Document.getPageInfo().getMargin().setRight().
- Додайте нову сторінку в PDF за допомогою методу Document.getPages().add() і отримайте її посилання в об’єкті Page.
- Створіть новий об’єкт Graph і додайте його до колекції абзаців за допомогою методу Page.getParagraphs().add().
- Створіть новий Line і додайте його до колекції Graph.getShapes().
- Додайте текст заголовка на сторінку за допомогою методу Page.getParagraphs().add().
- Створіть новий FloatingBox і вкажіть кількість стовпців, інтервал між стовпцями та ширину стовпців.
- Створіть інший об’єкт Graph.
- Додайте новий Line до колекції Graph.getShapes().
- Додайте Graph до колекції FloatingBox.getParagraphs().
- Створіть новий TextFragment і додайте його до колекції FloatingBox.getParagraphs().
- Додайте FloatingBox на сторінку за допомогою методу Page.getParagraphs().add().
- Нарешті, збережіть PDF-файл за допомогою методу Document.save(string).
Код Java для створення PDF-файлу з кількома стовпцями
У наведеному нижче прикладі коду показано, як створити PDF-файл із кількома стовпцями в Java.
// Створіть новий документ
Document doc = new Document();
// Укажіть інформацію про ліве поле для файлу PDF
doc.getPageInfo().getMargin().setLeft(40);
// Укажіть інформацію про праве поле для файлу PDF
doc.getPageInfo().getMargin().setRight(40);
// Додайте нову сторінку та отримайте посилання на неї
Page page = doc.getPages().add();
// Створіть новий графік
com.aspose.pdf.drawing.Graph graph1 = new com.aspose.pdf.drawing.Graph(500, 2);
// Додайте графік до колекції абзаців
page.getParagraphs().add(graph1);
// Додайте лінію до графіка
float[] posArr = new float[] { 1, 2, 500, 2 };
com.aspose.pdf.drawing.Line l1 = new com.aspose.pdf.drawing.Line(posArr);
graph1.getShapes().add(l1);
// Створіть рядкову змінну з текстом, що містить вміст HTML
String s = "<span style=\"font-family: \"Times New Roman\", Times, serif;\" font-size=\"14pt\" \">"
+"<strong> How to Steer Clear of money scams</<strong> </span>";
// Створіть фрагмент тексту та ініціалізуйте його текстом HTML
HtmlFragment heading_text = new HtmlFragment(s);
page.getParagraphs().add(heading_text);
// Створіть плаваючу коробку
FloatingBox box = new FloatingBox();
// Додайте стовпці в розділ
box.getColumnInfo().setColumnCount(2);
// Встановіть відстань між колонками
box.getColumnInfo().setColumnSpacing("5");
// Встановити ширину стовпця
box.getColumnInfo().setColumnWidths("105 105");
// Створіть новий фрагмент тексту
TextFragment text1 = new TextFragment("By A Googler (The Official Google Blog)");
text1.getTextState().setFontSize (8);
text1.getTextState().setLineSpacing (2);
text1.getTextState().setFontSize (10);
text1.getTextState().setFontStyle (FontStyles.Italic);
// Додати текст до абзацу
box.getParagraphs().add(text1);
// Створіть об’єкт графіка, щоб намалювати лінію
com.aspose.pdf.drawing.Graph graph2 = new com.aspose.pdf.drawing.Graph(50, 10);
// Вкажіть координати лінії
float[] posArr2 = new float[] { 1, 10, 100, 10 };
// Створіть лінію
com.aspose.pdf.drawing.Line l2 = new com.aspose.pdf.drawing.Line(posArr2);
// Додати лінію до графіка
graph2.getShapes().add(l2);
// Додайте рядок до колекції абзаців об’єкта розділу
box.getParagraphs().add(graph2);
// Створіть новий фрагмент тексту to set content of the document
TextFragment text2 = new TextFragment("Sed augue tortor, sodales id, luctus et, pulvinar ut, eros. Suspendisse vel dolor. "
+"Sed quam. Curabitur ut massa vitae eros euismod aliquam. Pellentesque sit amet elit. Vestibulum interdum pellentesque augue."
+"Cras mollis arcu sit amet purus. Donec augue. Nam mollis tortor a elit. Nulla viverra nisl vel mauris. Vivamus sapien. nascetur "
+"ridiculus mus. Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et,nAenean "
+"posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, pharetra non, mollis ac, mauris. "
+"Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut, iaculis cursus, tincidunt vitae, "
+"risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam justo lorem, aliquam "
+"luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, "
+"sodales et, semper sed, enim nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, "
+"pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut,"
+"iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus "
+"mus. Sed urna. . Duis convallis ultrices nisi. Maecenas non ligula. Nunc nibh est, tincidunt in, placerat sit amet, vestibulum a, nulla."
+"Praesent porttitor turpis eleifend ante. Morbi sodales.nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam,"
+"iaculis sed, pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique"
+"ut, iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus."
+"Sed urna. . Duis convallis ultrices nisi. Maecenas non ligula. Nunc nibh est, tincidunt in, placerat sit amet, vestibulum a, nulla. "
+"Praesent porttitor turpis eleifend ante. Morbi sodales.");
// Додайте текст до плаваючого поля
box.getParagraphs().add(text2);
// Додайте плаваюче поле на сторінку
page.getParagraphs().add(box);
// Зберегти файл PDF
doc.save("multicolumn-pdf.pdf");
Нижче наведено знімок екрана PDF-файлу з кількома стовпцями, створеного за допомогою наведеного вище зразка коду.
Безкоштовна бібліотека Java PDF
Ви можете отримати безкоштовну тимчасову ліцензію для створення PDF-файлів із кількома стовпцями без будь-яких обмежень.
Дослідіть бібліотеку Java PDF
Ви можете дізнатися більше про бібліотеку Java PDF, використовуючи документацію. Якщо у вас виникнуть запитання, не соромтеся задавати їх на нашому форумі.
Висновок
Багатоколонкова верстка в документах PDF використовується для різних типів публікацій. У цій публікації ви дізналися, як створювати багатоколонкові PDF-файли з нуля за допомогою Java. У покроковому посібнику та прикладі коду показано, як легко створити PDF-файл із кількома стовпцями в програмі Java.