Různé typy publikací, jako jsou časopisy, noviny, výzkumné články atd., používají rozvržení stránky s více sloupci. Při programovém generování takových dokumentů může být nutné vytvořit vícesloupcové soubory PDF. Pro takové případy tento článek popisuje, jak vytvořit vícesloupcové PDF v Javě.
Java knihovna pro vytvoření vícesloupcového PDF
K vytvoření vícesloupcového PDF použijeme Aspose.PDF for Java. Je to knihovna pro manipulaci s PDF s mnoha funkcemi, která vám umožní vytvářet jednoduché i složité soubory PDF od začátku.
JAR knihovny si můžete stáhnout nebo jej nainstalovat do své Java aplikace pomocí následujících konfigurací 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>
Vytvořte vícesloupcové PDF v Javě
Aspose.PDF for Java vám docela usnadňuje vytvoření vícesloupcového souboru PDF. Níže jsou uvedeny kroky, jak toho dosáhnout.
- Nejprve vytvořte nový objekt Document.
- Potom nastavte okraje stránky pomocí metod Document.getPageInfo().getMargin().setLeft() a Document.getPageInfo().getMargin().setRight().
- Přidejte novou stránku do PDF pomocí metody Document.getPages().add() a získejte její odkaz do objektu Page.
- Vytvořte nový objekt Graph a přidejte jej do kolekce odstavců pomocí metody Page.getParagraphs().add().
- Vytvořte nový řádek Line a přidejte jej do kolekce Graph.getShapes().
- Přidejte text nadpisu na stránku pomocí metody Page.getParagraphs().add().
- Vytvořte nový FloatingBox a zadejte počet sloupců, mezery mezi sloupci a šířku sloupců.
- Vytvořte další Graph objekt.
- Přidejte nový řádek Line do kolekce Graph.getShapes().
- Přidejte Graph do kolekce FloatingBox.getParagraphs().
- Vytvořte nový TextFragment a přidejte jej do kolekce FloatingBox.getParagraphs().
- Přidejte FloatingBox na stránku pomocí metody Page.getParagraphs().add().
- Nakonec uložte soubor PDF pomocí metody Document.save(string).
Java kód pro vytvoření vícesloupcového PDF
Následující ukázka kódu ukazuje, jak vytvořit vícesloupcový soubor PDF v Javě.
// Vytvořte nový dokument
Document doc = new Document();
// Zadejte informace o levém okraji souboru PDF
doc.getPageInfo().getMargin().setLeft(40);
// Zadejte informace o pravém okraji pro soubor PDF
doc.getPageInfo().getMargin().setRight(40);
// Přidejte novou stránku a získejte její referenci
Page page = doc.getPages().add();
// Vytvořte nový graf
com.aspose.pdf.drawing.Graph graph1 = new com.aspose.pdf.drawing.Graph(500, 2);
// Přidejte graf do sbírky parafráze
page.getParagraphs().add(graph1);
// Přidejte čáru do grafu
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);
// Vytvořte řetězcovou proměnnou s textem obsahujícím obsah 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>";
// Vytvořte textový fragment a inicializujte jej pomocí HTML textu
HtmlFragment heading_text = new HtmlFragment(s);
page.getParagraphs().add(heading_text);
// Vytvořte plovoucí krabici
FloatingBox box = new FloatingBox();
// Přidejte sloupce do sekce
box.getColumnInfo().setColumnCount(2);
// Nastavte rozestupy mezi sloupci
box.getColumnInfo().setColumnSpacing("5");
// Nastavte šířku sloupce
box.getColumnInfo().setColumnWidths("105 105");
// Vytvořte nový textový fragment
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);
// Přidejte text do odstavce
box.getParagraphs().add(text1);
// Vytvořte objekt grafu pro nakreslení čáry
com.aspose.pdf.drawing.Graph graph2 = new com.aspose.pdf.drawing.Graph(50, 10);
// Zadejte souřadnice čáry
float[] posArr2 = new float[] { 1, 10, 100, 10 };
// Vytvořte čáru
com.aspose.pdf.drawing.Line l2 = new com.aspose.pdf.drawing.Line(posArr2);
// Přidejte čáru do grafu
graph2.getShapes().add(l2);
// Přidejte řádek do kolekce odstavců objektu sekce
box.getParagraphs().add(graph2);
// Vytvořte nový textový fragment 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.");
// Přidejte text do plovoucího pole
box.getParagraphs().add(text2);
// Přidejte na stránku plovoucí pole
page.getParagraphs().add(box);
// Uložit soubor PDF
doc.save("multicolumn-pdf.pdf");
Následuje snímek obrazovky vícesloupcového PDF generovaného výše uvedeným ukázkovým kódem.
Zdarma Java PDF knihovna
Můžete získat bezplatnou dočasnou licenci k vytváření vícesloupcových souborů PDF bez jakýchkoli omezení.
Prozkoumejte Java PDF Library
Více o knihovně Java PDF se můžete dozvědět pomocí dokumentace. V případě jakýchkoli dotazů se neváhejte zeptat na našem fóru.
Závěr
Vícesloupcové rozvržení v dokumentech PDF se používá pro různé typy publikací. V tomto příspěvku jste se naučili, jak vytvořit vícesloupcové soubory PDF od začátku pomocí Java. Podrobný průvodce a ukázka kódu ukázaly, jak snadno vygenerovat vícesloupcový soubor PDF v aplikaci Java.