På senare år har den dynamiska genereringen av Word-dokument blivit en populär funktion för att sammanställa rapporter, offerter, fakturor och andra typer av dokument. Olika bibliotek finns tillgängliga som låter dig generera MS Word-dokument programmatiskt i Java. Vissa av dem behöver dock MS Office och andra kräver att du skriver komplex kod. Med tanke på sådana problem syftar den här artikeln till att ge dig det bästa men enklaste sättet att skapa MS Word-dokument i Java utan att behöva MS Office. Du kommer också att lära dig hur du automatiserar MS Word-funktioner med minimala rader med enkel kod.
- Java-bibliotek för att skapa Word-dokument
- Skapa ett Word-dokument med Java
- Skapa ett Word-dokument med tabell
- Infoga en lista i Word-dokument
- Skapa Word-dokument med bild
Java-bibliotek för att skapa Word-dokument
I den här artikeln kommer vi att använda Aspose.Words for Java, som är ett funktionsrikt bibliotek för att skapa, redigera eller konvertera Word-dokument i Java-baserade applikationer. Du kan ladda ner API:s JAR eller installera den med följande Maven-konfigurationer:
Förvar:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Beroende:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>22.11</version>
<classifier>jdk17</classifier>
</dependency>
I följande avsnitt kommer du att lära dig hur du skapar ett Word-dokument som innehåller olika element som text, stycken, tabeller, listor, bilder etc. programmatiskt med hjälp av Java.
Hur man skapar ett Word-dokument i Java
För det mesta är en stor del av innehållet i ett Word-dokument baserat på texten. Därför börjar vi vår resa med att skapa ett Word-dokument med en rubrik och ett stycke.
Följande är stegen för att skapa ett Word-dokument från början:
- Skapa först en instans av klassen Dokument.
- Skapa ett DocumentBuilder-objekt och initiera det med Document-objektet.
- Använd klassen Font och ställ in teckenstorlek, familj osv.
- Ställ in styckets egenskaper med klassen ParagraphFormat.
- Skriv text till dokumentet med metoden DocumentBuilder.write().
- Anrop slutligen metoden Document.save() för att skapa dokumentet.
Java-program för att skapa ett Word-dokument
Följande kodexempel visar hur man skapar ett Word-dokument som innehåller text i Java.
// Skapa ett dokumentobjekt
Document doc = new Document();
// Skapa ett DocumentBuilder-objekt
DocumentBuilder builder = new DocumentBuilder(doc);
// Ange teckensnittsformatering
Font font = builder.getFont();
font.setSize(18);
font.setBold(true);
font.setColor(Color.BLACK);
font.setName("Arial");
builder.write("How to Create a Rich Word Document?");
builder.insertBreak(BreakType.LINE_BREAK);
// Börja stycket
font.setSize(12);
font.setBold(false);
ParagraphFormat paragraphFormat = builder.getParagraphFormat();
paragraphFormat.setFirstLineIndent(12);
paragraphFormat.setKeepTogether(true);
builder.write("This article shows how to create a Word document containing text, images and lists.");
// Spara dokumentet
doc.save("Rich Word Document.docx");
Produktion
Generera tabell i ett Word-dokument i Java
Tabeller i Word-dokument används för att organisera innehållet i form av rader och kolumner. I det här avsnittet skapar vi en enkel tabell som innehåller två rader och två kolumner. Att skapa en tabell inkluderar fyra grundläggande operationer:
- Startar bordet
- Infoga en cell
- Avslutar raden
- Avslutar bordet
Följande är steget för att skapa en tabell i Word-dokument i Java:
- Skapa först objekten i klasserna Document och DocumentBuilder.
- Skapa en tabell med klassen Table.
- Infoga en cell med metoden DocumentBuilder.insertCell().
- Ställ in tabellens egenskaper enligt dina krav.
- Lägg till text i cellen med metoden DocumentBuilder.write().
- Avsluta raden och tabellen med metoderna DocumentBuilder.endRow() respektive DocumentBuilder.endTable().
- Slutligen, spara dokumentet.
Följande exempel visar hur du skapar ett Word-dokument och lägger till en tabell till det.
// Skapa ett dokumentobjekt
Document doc = new Document();
// Skapa ett DocumentBuilder-objekt
DocumentBuilder builder = new DocumentBuilder(doc);
// Skapa bord
Table table = builder.startTable();
// Infoga en cell
builder.insertCell();
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_WINDOW);
builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);
builder.write("This is Row 1 Cell 1");
builder.insertCell();
builder.write("This is Row 1 Cell 2");
// Slutraden
builder.endRow();
// starta en nästa rad och ställ in dess egenskaper
builder.getRowFormat().setHeight(100);
builder.getRowFormat().setHeightRule(HeightRule.EXACTLY);
builder.insertCell();
builder.write("This is Row 2 Cell 1");
builder.insertCell();
builder.write("This is Row 2 Cell 2");
builder.endRow();
// Slutbord
builder.endTable();
// Spara dokumentet
doc.save("Rich Word Document.docx");
Produktion
Java Word Automation - Infoga ett listdokument
Följande är stegen för att lägga till en lista till Word-dokumentet.
- Skapa först ett objekt av klassen Dokument.
- Lägg till önskad typ av lista i dokumentet med metoden Document.getLists().add().
- Hämta listan från dokumentet till ett List objekt.
- Fyll i listan med objektet DocumentBuilder.
- Slutligen, spara dokumentet.
Följande kodexempel visar hur man skapar en lista i Word-dokument med Java.
// Skapa ett dokumentobjekt
Document doc = new Document();
doc.getLists().add(ListTemplate.BULLET_CIRCLE);
List list = doc.getLists().get(0);
// Ställ in sant för att ange att listan måste startas om vid varje avsnitt.
list.isRestartAtEachSection(true);
DocumentBuilder builder = new DocumentBuilder(doc);
builder.getListFormat().setList(list);
for (int i = 1; i < 45; i++) {
builder.writeln(String.format("List Item " + i));
// Infoga sektionsbrytning.
if (i == 15)
builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
}
builder.getListFormat().removeNumbers();
// Spara dokumentet
doc.save("Rich Word Document.docx");
Produktion
Java Generera ett Word-dokument och infoga bild
Att infoga en bild i ett Word-dokument är så enkelt som en plätt. Följande är några enkla steg för att utföra denna operation:
- Skapa först ett objekt av klassen Dokument.
- Skapa ett objekt av klassen DocumentBuilder och initiera det med dokumentobjektet.
- Infoga bild med metoden DocumentBuilder.insertImage().
- Slutligen, spara dokumentet.
Följande kodexempel visar hur man infogar en bild i Word-dokumentet i Java.
// Skapa ett dokumentobjekt
Document doc = new Document();
// Skapa DocumentBuiler
DocumentBuilder builder = new DocumentBuilder(doc);
// Infoga bild
builder.insertImage("aspose-words.png");
// Spara dokumentet
doc.save("Rich Word Document.docx");
Produktion
Skapa MS Word-dokument med en gratis licens
Du kan få en gratis tillfällig licens och skapa MS Word-dokument från grunden utan utvärderingsbegränsningar.
Java Word Automation Library - Läs mer
Du kan läs mer om hur du infogar olika element i ett Word-dokument med Aspose.Words för Java.
Slutsats
I den här artikeln har du lärt dig hur du skapar rika Word-dokument i Java. Dessutom har kodexemplen visat hur man lägger till text, tabeller, bilder och listor i Word-dokument. Således kan du enkelt implementera MS Word-automatiseringsfunktioner i dina Java-applikationer.