XML to rozszerzony język znaczników, który jest samoopisowy, zalecany przez W3C i zaprojektowany do przechowywania i przesyłania danych. Po otrzymaniu danych w formacie XML, jako programista, możesz je przekonwertować na dowolny inny format lepiej czytelny dla człowieka, taki jak dokument PDF lub MS Word. Ten artykuł poprowadzi Cię do konwersji danych XML na raporty PDF i MS Word w Javie przy użyciu prostych szablonów.

Poniżej omówiono następujące tematy:

Generowanie raportów Java API — XML do PDF i WORD

GroupDocs.Assembly zapewnia Java API do automatyzacji generowania raportów z danych XML przy użyciu szablonu DOCX lub TXT. Ponadto obsługuje JSON, CSV i inne źródła danych w celu konwersji danych na prezentowalne raporty w różnych formatach plików.

Pobierz lub skonfiguruj

Możesz pobrać plik JAR z sekcji pobierania lub po prostu pobrać repozytorium i konfiguracje zależności dla pliku pom.xml aplikacji Java opartych na Maven.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-assembly</artifactId>
        <version>21.4</version> 
</dependency>

Wygeneruj raport PDF z danych XML w Javie

Przejdźmy szybko do kroków, które doprowadzą Cię do konwersji danych XML na sformatowany raport PDF.

  • Załaduj źródło danych XML
  • Zdefiniuj szablon zgodnie z danymi XML
  • Podaj źródło danych XML i szablon do metody generowania raportów.
Raport XML do PDF w Javie

Dane XML

Do generowania raportów w formacie PDF używane są następujące przykładowe dane XML. Zawiera dane menedżerów i ich klientów wraz ze szczegółami.

<Managers>
	<Manager>
		<Name>John Smith</Name>
		<Contract>
			<Client>
				<Name>A Company</Name>
			</Client>
			<Price>1200000</Price>
		</Contract>
		<Contract>
		...
		</Contract>
		...
	</Manager>
	<Manager>
		<Name>Tony Anderson</Name>
		...
	</Manager>
	...
</Managers>

Szablon

Zdefiniuj następujący szablon w formacie TXT lub DOCX. Pozwala to na iterację menedżerów i ich klientów. Następnie użyj kodu wymienionego poniżej do wygenerowania raportu.

<<foreach \[in managers\]>>Manager: <<\[Name\]>>
Contracts:
<<foreach \[in Contract\]>>- <<\[Client.Name\]>> ($<<\[Price\]>>)
<</foreach>>
<</foreach>>

Kroki Java, aby wygenerować raport PDF z XML

Poniższe kroki i kod pozwalają zautomatyzować generowanie raportów PDF z danych XML zgodnie ze zdefiniowanym szablonem.

  • Zdefiniuj plik danych XML, plik szablonu tekstowego i wyjściowe pliki raportów PDF.
  • Utwórz instancję XMLDataSoure z plikiem danych XML.
  • Utwórz DataSourceInfo ze zdefiniowanym źródłem danych XML.
  • Wywołaj metodę assembleDocument, aby wygenerować raport PDF.

Poniższy kod implementuje powyższe kroki i generuje plik PDF ze źródła danych XML w Javie.

// Wygeneruj raport PDF z danych XML przy użyciu szablonu TXT w Javie
// Zdefiniuj źródło danych, szablon i pliki raportów wyjściowych.
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/PDFreportFromXML.pdf";

// Załaduj źródło danych XML
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");

// Złóż dokument, aby wygenerować plik PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);

Wygeneruj raport MS Word z danych XML w Javie

Podobnie możesz utworzyć raport MS Word DOC/DOCX z tych samych danych XML w Javie. Nie będzie żadnej różnicy, z wyjątkiem zmiany nazwy pliku wyjściowego.

  • Załaduj plik danych XML.
  • Definiowanie szablonu w formacie TXT lub DOCX.
  • Ustaw format dokumentu raportu wyjściowego jako DOCX.
  • Podaj plik danych XML, szablon i ścieżkę pliku wyjściowego do DocumentAssembler, aby przekonwertować XML na DOCX.

Poniższy kod konwertuje XML i generuje plik DOCX przy użyciu szablonu zdefiniowanego w Javie.

// Wygeneruj raport MS Word z danych XML za pomocą szablonu tekstowego w Javie
// Zdefiniuj źródło danych, szablon i pliki raportów wyjściowych.
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/WordReportFromXML.docx";

//Utwórz wystąpienie źródła danych XML
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");

//Złóż dokument 
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);

Uzyskaj bezpłatną licencję API

Możesz uzyskać bezpłatną tymczasową licencję, aby korzystać z API bez ograniczeń ewaluacyjnych.

Wniosek

Podsumowując, nauczyłeś się konwertować dane XML do formatu PDF jako raport w Javie. Dodatkowo widziałeś generowanie raportu w formacie DOC/DOCX z tego samego XML przy użyciu szablonu. Po przeczytaniu serii Generowanie raportów PDF i MS Word z formatów JSON, CSV, XML powinieneś czuć się swobodnie w budowaniu własnej aplikacji Java do tworzenia raportów.

Podobnie możesz przekonwertować wiele innych źródeł danych na raport. Aby uzyskać więcej informacji, opcji i przykładów, odwiedź dokumentację i repozytorium GitHub. W przypadku dalszych pytań skontaktuj się z nami za pośrednictwem forum.

Zobacz też