Olika typer av publikationer som tidskrifter, tidningar, forskningsartiklar etc. använder sidlayouter med flera kolumner. När du genererar sådana dokument programmatiskt kan du behöva skapa PDF-filer med flera kolumner. För sådana fall täcker den här artikeln hur man skapar en PDF med flera kolumner i Java.
Java-bibliotek för att skapa PDF med flera kolumner
För att skapa en PDF med flera kolumner använder vi Aspose.PDF för Java. Det är ett funktionsrikt PDF-manipuleringsbibliotek som låter dig skapa enkla såväl som komplexa PDF-filer från grunden.
Du kan antingen ladda ner bibliotekets JAR eller installera den i din Java-applikation med följande Maven-konfigurationer.
<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>
Skapa en PDF med flera kolumner i Java
Aspose.PDF för Java gör det mycket lättare för dig att skapa en PDF-fil med flera kolumner. Följande är stegen för att uppnå detta.
- Skapa först ett nytt Dokument-objekt.
- Ställ sedan in sidmarginalerna med metoderna Document.getPageInfo().getMargin().setLeft() och Document.getPageInfo().getMargin().setRight().
- Lägg till en ny sida i PDF-filen med metoden Document.getPages().add() och hämta dess referens till ett Page-objekt.
- Skapa ett nytt Graph-objekt och lägg till det i styckesamlingen med metoden Page.getParagraphs().add().
- Skapa en ny Line och lägg till den i samlingen Graph.getShapes().
- Lägg till rubriktext på sidan med metoden Page.getParagraphs().add().
- Skapa en ny FloatingBox och ange antalet kolumner, kolumnavstånd och kolumnbredd.
- Skapa ett annat Graph objekt.
- Lägg till en ny Line till samlingen Graph.getShapes().
- Lägg till Graph i samlingen FloatingBox.getParagraphs().
- Skapa ett nytt TextFragment och lägg till det i FloatingBox.getParagraphs()-samlingen.
- Lägg till FloatingBox på sidan med metoden Page.getParagraphs().add().
- Slutligen sparar du PDF-filen med metoden Document.save(string).
Java-kod för att skapa PDF med flera kolumner
Följande kodexempel visar hur man skapar en PDF med flera kolumner i Java.
// Skapa ett nytt dokument
Document doc = new Document();
// Ange information om vänstermarginalen för PDF-filen
doc.getPageInfo().getMargin().setLeft(40);
// Ange information om högermarginalen för PDF-filen
doc.getPageInfo().getMargin().setRight(40);
// Lägg till en ny sida och få dess referens
Page page = doc.getPages().add();
// Skapa en ny graf
com.aspose.pdf.drawing.Graph graph1 = new com.aspose.pdf.drawing.Graph(500, 2);
// Lägg till grafen till parafrassamlingen
page.getParagraphs().add(graph1);
// Lägg till en linje i grafen
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);
// Skapa strängvariabel med text som innehåller HTML-innehåll
String s = "<span style=\"font-family: \"Times New Roman\", Times, serif;\" font-size=\"14pt\" \">"
+"<strong> How to Steer Clear of money scams</<strong> </span>";
// Skapa textfragment och initiera det med HTML-text
HtmlFragment heading_text = new HtmlFragment(s);
page.getParagraphs().add(heading_text);
// Skapa en flytande låda
FloatingBox box = new FloatingBox();
// Lägg till kolumner i avsnittet
box.getColumnInfo().setColumnCount(2);
// Ställ in avståndet mellan kolumnerna
box.getColumnInfo().setColumnSpacing("5");
// Ställ in kolumnbredd
box.getColumnInfo().setColumnWidths("105 105");
// Skapa ett nytt textfragment
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);
// Lägg till text i stycket
box.getParagraphs().add(text1);
// Skapa ett grafobjekt för att rita en linje
com.aspose.pdf.drawing.Graph graph2 = new com.aspose.pdf.drawing.Graph(50, 10);
// Ange koordinaterna för linjen
float[] posArr2 = new float[] { 1, 10, 100, 10 };
// Skapa en linje
com.aspose.pdf.drawing.Line l2 = new com.aspose.pdf.drawing.Line(posArr2);
// Lägg till linje i grafen
graph2.getShapes().add(l2);
// Lägg till raden i styckesamlingen av sektionsobjekt
box.getParagraphs().add(graph2);
// Skapa ett nytt textfragment 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.");
// Lägg till text i den flytande rutan
box.getParagraphs().add(text2);
// Lägg till en flytande ruta på sidan
page.getParagraphs().add(box);
// Spara PDF-fil
doc.save("multicolumn-pdf.pdf");
Följande är skärmdumpen av PDF-filen med flera kolumner som genereras av ovanstående kodexempel.
Gratis Java PDF-bibliotek
Du kan få en gratis temporär licens för att skapa PDF-filer med flera kolumner utan några begränsningar.
Utforska Java PDF-bibliotek
Du kan lära dig mer om Java PDF-biblioteket med hjälp av dokumentationen. Om du skulle ha några frågor, fråga gärna via vårt forum.
Slutsats
Flerspaltslayout i PDF-dokument används för olika typer av publikationer. I det här inlägget har du lärt dig hur du skapar PDF-filer med flera kolumner från grunden med Java. Steg-för-steg-guiden och kodexemplet har visat hur man enkelt genererar en PDF med flera kolumner i en Java-applikation.