Automatyzacja programu Microsoft Word — twórz, edytuj i konwertuj dokumenty programu Word przy użyciu języka Java

Automatyzacja programu Word umożliwia tworzenie nowych dokumentów programu Word, edycję lub modyfikację istniejących lub konwersję do innych formatów bez korzystania z pakietu Microsoft Office. Wszystkie czynności, które możemy wykonać poprzez interfejs użytkownika MS Word, można również wykonać programowo, wykorzystując Automatyzację. W tym artykule dowiemy się, jak zautomatyzować program MS Word w celu tworzenia, edytowania i konwertowania dokumentów programu Word przy użyciu języka Java.

W tym artykule zostaną omówione następujące tematy:

Interfejs API Java Word Automation do tworzenia, edytowania i konwertowania dokumentów programu Word

Do automatyzacji programu Word będziemy używać interfejsu API Aspose.Words for Java. Jest to kompletne i bogate w funkcje rozwiązanie do automatyzacji programu Word, umożliwiające programowe tworzenie, edytowanie i analizowanie dokumentów programu Word. Proszę pobierz plik JAR interfejsu API lub po prostu dodaj następującą konfigurację pom.xml w aplikacji Java opartej na 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-words</artifactId>
    <version>21.11</version>
    <type>pom</type>
</dependency>

Twórz dokumenty Word przy użyciu języka Java

Dokumenty programu Word możemy tworzyć programowo, wykonując poniższe czynności:

  • Najpierw utwórz instancję klasy Document. Ta klasa reprezentuje dokument programu Word.
  • Następnie utwórz instancję klasy DocumentBuilder z obiektem Dokument jako argumentem. Ta klasa udostępnia metody wstawiania tekstu, obrazów i innej zawartości, określania czcionki, akapitu i formatowania sekcji.
  • Następnie wstaw/zapisz elementy, aby dodać tekst, akapity, tabelę lub obraz, używając obiektu DocumentBuilder.
  • Na koniec wywołaj metodę Document.save() podając ścieżkę do pliku wyjściowego, aby zapisać utworzony plik.

Poniższy przykładowy kod pokazuje, jak utworzyć dokument programu Word (DOCX) przy użyciu języka Java.

// Otwórz dokument.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Ustaw czcionkę dla kolejnych elementów
Font font = builder.getFont();
font.setSize(25);
font.setBold(true);
font.setColor(Color.BLACK);
font.setName("Arial");

// Wstaw tekst
builder.writeln("Welcome!");

// Ustaw czcionkę dla kolejnych elementów
font.setSize(12);
font.setBold(false);

// Wstaw akapit
builder.writeln("Aspose.Words for Java is a class library that enables your applications to perform a great range of document processing tasks.\r\n"
    + "\r\n"
    + "Aspose.Words supports most of the popular document formats such as DOC, DOCX, RTF, HTML, Markdown, PDF, XPS, EPUB, and others.\r\n"
    + "\r\n"
    + "With Aspose.Words for Java, you can generate, modify, convert, render, and print documents without third-party applications or Office Automation.");
builder.writeln();

font.setBold(true);
builder.writeln("This is a sample table");

font.setBold(false);
// Wstaw tabelę
Table table = builder.startTable();
builder.insertCell();
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_CONTENTS);

builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);

builder.write("This is row 1 cell 1");
builder.insertCell();
builder.write("This is row 1 cell 2");
builder.endRow();
builder.insertCell();
builder.write("This is row 2 cell 1");
builder.insertCell();
builder.write("This is row 2 cell 2");
builder.endRow();
builder.endTable();
builder.writeln();

// Wstaw obraz
builder.insertImage("C:\\Files\\Words\\words_java.jpg");

// Wstaw podział strony 
builder.insertBreak(BreakType.PAGE_BREAK);             
// wszystkie elementy po podziale strony zostaną wstawione na następną stronę.

// Zapisz dokument
doc.save("C:\\Files\\Words\\document.docx");
Twórz dokumenty Word przy użyciu języka Java

Twórz dokumenty Word przy użyciu języka Java.

Edytuj lub modyfikuj dokumenty programu Word przy użyciu języka Java

W poprzedniej sekcji utworzyliśmy dokument Word. Teraz zmodyfikujmy go i zmieńmy treść dokumentu. Możemy programowo edytować dokumenty Word, wykonując poniższe czynności:

  • Najpierw załaduj dokument Worda, używając klasy Document ze ścieżką pliku wejściowego jako argumentem.
  • Następnie uzyskaj dostęp do określonej sekcji według jej indeksu.
  • Następnie uzyskaj dostęp do treści pierwszego akapitu jako obiekt klasy Run. Klasa Run reprezentuje ciąg znaków o tym samym formacie czcionki. Cały tekst dokumentu jest przechowywany w seriach tekstu.
  • Następnie ustaw aktualizację tekstu dla dostępnego akapitu.
  • Na koniec wywołaj metodę Document.save() podając ścieżkę do pliku wyjściowego, aby zapisać zaktualizowany plik.

Poniższy przykładowy kod pokazuje, jak edytować dokument programu Word (DOCX) przy użyciu języka Java.

// Załaduj dokument
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Uzyskaj dostęp do akapitu
Run paragraph = doc.getSections().get(0).getBody().getFirstParagraph().getRuns().get(0);
paragraph.setText("This is updated text");  

// Zapisz dokument
doc.save("C:\\Files\\Words\\Document_updated.docx");
Edytuj lub modyfikuj dokumenty programu Word przy użyciu języka Java

Edytuj lub modyfikuj dokumenty programu Word przy użyciu języka Java.

Znajdź i zamień tekst w dokumentach programu Word przy użyciu języka Java

Treść dokumentów Worda możemy także aktualizować korzystając z mechanizmu znajdź i zamień dostępnego w API. Możemy to zrobić programowo, wykonując kroki podane poniżej:

  • Najpierw załaduj dokument Worda, używając klasy Document ze ścieżką pliku wejściowego jako argumentem.
  • Następnie utwórz instancję klasy FindReplaceOptions.
  • Następnie wywołaj metodę replace(), podając jako argumenty szukany ciąg, ciąg zastępujący i obiekt FindReplaceOptions. Ta metoda zastąpi każde wystąpienie szukanego ciągu ciągiem zastępczym.
  • Na koniec wywołaj metodę Document.save() podając ścieżkę do pliku wyjściowego, aby zapisać zaktualizowany plik.

Poniższy przykładowy kod pokazuje, jak znaleźć i zamienić określony tekst w dokumencie programu Word (DOCX) przy użyciu języka Java.

// Załaduj dokument
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Zaktualizuj za pomocą funkcji Znajdź i zamień
// Określ szukany ciąg i zamień ciąg, korzystając z metody Zamień.
doc.getRange().replace("Aspose.Words", "Hello", new FindReplaceOptions());

// Zapisz dokument
doc.save("C:\\Files\\Words\\Document_updated.docx");
Znajdź i zamień tekst w dokumentach programu Word przy użyciu języka Java

Znajdź i zamień tekst w dokumentach programu Word przy użyciu języka Java

Konwertuj dokumenty programu Word przy użyciu języka Java

Możemy programowo konwertować dokumenty programu Word do innych formatów, takich jak PDF, XPS, EPUB, HTML, JPG, PNG itp., wykonując poniższe kroki:

  • Najpierw załaduj dokument Worda, używając klasy Document ze ścieżką pliku wejściowego jako argumentem.
  • Następnie utwórz instancję klasy PdfSaveOptions z obiektem Document jako argumentem. Ta klasa zapewnia dodatkowe opcje podczas zapisywania dokumentu w formacie PDF.
  • Następnie określ poziom zgodności ze standardami PDF dla dokumentu wyjściowego, ustawiając opcję PdfSaveOptions.Compliance na PdfCompliance.PDF17.
  • Na koniec wywołaj metodę Document.save(), podając ścieżkę do pliku wyjściowego i obiekt PdfSaveOptions jako argument, aby zapisać plik PDF.

Poniższy przykładowy kod pokazuje, jak przekonwertować dokument programu Word (DOCX) na plik PDF przy użyciu języka Java.

// Załaduj dokument
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Zapewnij zgodność PDFSaveOption z PDF17
PdfSaveOptions options = new PdfSaveOptions();
options.setCompliance(PdfCompliance.PDF_17);

// Konwertuj Word na PDF
doc.save("C:\\Files\\Words\\output.pdf", options);
Konwertuj dokumenty Word na format PDF.

Konwertuj dokumenty programu Word przy użyciu języka Java

Analizuj dokumenty programu Word przy użyciu języka Java

Możemy analizować dokumenty programu Word i programowo wyodrębniać zawartość jako zwykły tekst, wykonując czynności podane poniżej:

  • Załaduj dokument programu Word, używając klasy Document ze ścieżką pliku wejściowego jako argumentem.
  • Wywołaj metodę Document.save(), aby zapisać dokument programu Word jako plik tekstowy. Ta metoda przyjmuje jako argument ścieżkę pliku wyjściowego.

Poniższy przykładowy kod pokazuje, jak analizować dokument programu Word (DOCX) przy użyciu języka Java.

// Załaduj dokument z dysku.
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Zapisz jako zwykły tekst 
doc.save("C:\\Files\\Words\\output.txt");
Wyodrębnij tekst z dokumentów programu Word.

Analizuj dokumenty programu Word przy użyciu języka Java.

Zdobądź bezpłatną licencję

Wypróbuj interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.

Wniosek

W tym artykule dowiedzieliśmy się, jak zautomatyzować program Word w celu tworzenia, edytowania i konwertowania dokumentów programu Word przy użyciu języka Java. Widzieliśmy także, jak programowo znajdować i zamieniać tekst w dokumentach programu Word. Poza tym możesz dowiedzieć się więcej o Aspose.Words for Java API, korzystając z dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też