Skapa Rich Word-dokument i Java

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

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:

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

Skapa Word-dokument i Java

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:

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 genererar Word-dokument med tabell

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

Infoga lista i Word docx i Java

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:

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

Infoga bild i Word docx i Java

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.

Se även