Różnego rodzaju publikacje, takie jak czasopisma, gazety, artykuły naukowe itp., wykorzystują wielokolumnowe układy stron. Programowe generowanie takich dokumentów może wymagać utworzenia wielokolumnowych plików PDF. W takich przypadkach w tym artykule omówiono sposób tworzenia wielokolumnowych plików PDF przy użyciu języka Java.
API do tworzenia wielokolumnowych plików PDF w Javie
Aspose.PDF for Java to bogaty w funkcje interfejs API do manipulacji plikami PDF, który umożliwia tworzenie od podstaw zarówno prostych, jak i złożonych plików PDF. Użyjemy tego interfejsu API do tworzenia wielokolumnowych plików PDF przy użyciu języka Java. Możesz pobrać plik JAR interfejsu API lub zainstalować go w swojej aplikacji Java przy użyciu następujących konfiguracji 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>21.9</version>
</dependency>
Utwórz wielokolumnowy plik PDF w Javie
Aspose.PDF for Java znacznie ułatwia tworzenie wielokolumnowego pliku PDF. Poniżej przedstawiono kroki, aby to osiągnąć.
- Najpierw utwórz nowy obiekt Document.
- Następnie ustaw marginesy strony za pomocą metod Document.getPageInfo().getMargin().setLeft() i Document.getPageInfo().getMargin().setRight().
- Dodaj nową stronę w pliku PDF za pomocą metody Document.getPages().add() i pobierz jej odniesienie do obiektu Page.
- Utwórz nowy obiekt Graph i dodaj go do zbioru akapitów za pomocą metody Page.getParagraphs().add().
- Utwórz nową Line i dodaj ją do kolekcji Graph.getShapes().
- Dodaj tekst nagłówka do strony za pomocą metody Page.getParagraphs().add().
- Utwórz nowy FloatingBox i określ liczbę kolumn, odstępy między kolumnami i szerokość kolumn.
- Utwórz kolejny obiekt Wykres.
- Dodaj nową Line do kolekcji Graph.getShapes().
- Dodaj wykres do kolekcji FloatingBox.getParagraphs().
- Utwórz nowy TextFragment i dodaj go do kolekcji FloatingBox.getParagraphs().
- Dodaj FloatingBox do strony za pomocą metody Page.getParagraphs().add().
- Na koniec zapisz plik PDF za pomocą metody Document.save(string).
Poniższy przykładowy kod pokazuje, jak utworzyć dwukolumnowy plik PDF przy użyciu języka Java.
// Utwórz nowy dokument
Document doc = new Document();
// Określ informacje o lewym marginesie pliku PDF
doc.getPageInfo().getMargin().setLeft(40);
// Określ informacje o prawym marginesie dla pliku PDF
doc.getPageInfo().getMargin().setRight(40);
// Dodaj nową stronę i uzyskaj jej referencję
Page page = doc.getPages().add();
// Utwórz nowy wykres
com.aspose.pdf.drawing.Graph graph1 = new com.aspose.pdf.drawing.Graph(500, 2);
// Dodaj wykres do kolekcji parafraz
page.getParagraphs().add(graph1);
// Dodaj linię do wykresu
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);
// Utwórz zmienną łańcuchową z tekstem zawierającym treść 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>";
// Utwórz fragment tekstu i zainicjuj go tekstem HTML
HtmlFragment heading_text = new HtmlFragment(s);
page.getParagraphs().add(heading_text);
// Utwórz pływające pudełko
FloatingBox box = new FloatingBox();
// Dodaj kolumny w sekcji
box.getColumnInfo().setColumnCount(2);
// Ustaw odstępy między kolumnami
box.getColumnInfo().setColumnSpacing("5");
// Ustaw szerokość kolumny
box.getColumnInfo().setColumnWidths("105 105");
// Utwórz nowy fragment tekstu
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);
// Dodaj tekst do akapitu
box.getParagraphs().add(text1);
// Utwórz obiekt wykresu, aby narysować linię
com.aspose.pdf.drawing.Graph graph2 = new com.aspose.pdf.drawing.Graph(50, 10);
// Określ współrzędne linii
float[] posArr2 = new float[] { 1, 10, 100, 10 };
// Utwórz linię
com.aspose.pdf.drawing.Line l2 = new com.aspose.pdf.drawing.Line(posArr2);
// Dodaj linię do wykresu
graph2.getShapes().add(l2);
// Dodaj linię do kolekcji akapitów obiektu sekcji
box.getParagraphs().add(graph2);
// Utwórz nowy fragment tekstu 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.");
// Dodaj tekst do pływającego pola
box.getParagraphs().add(text2);
// Dodaj pływające pole do strony
page.getParagraphs().add(box);
// Zapisz plik PDF
doc.save("multicolumn-pdf.pdf");
Poniżej znajduje się zrzut ekranu wielokolumnowego pliku PDF wygenerowanego przez Aspose.PDF dla języka Java.
![Utwórz wielokolumnowy plik PDF Java](images/Create-Multi-Column-PDF.jpg#center)
Uzyskaj bezpłatną licencję
Możesz używać Aspose.PDF for Java bez ograniczeń ewaluacyjnych przy użyciu tymczasowej licencji.
Wniosek
Układ wielokolumnowy w dokumentach PDF jest stosowany w różnego rodzaju publikacjach. W tym poście nauczyłeś się, jak tworzyć od podstaw wielokolumnowe pliki PDF przy użyciu języka Java. Poza tym możesz dowiedzieć się więcej o API Java PDF korzystając z dokumentacji. Jeśli masz jakieś pytania, możesz je zadać za pośrednictwem naszego forum.