XML adalah Bahasa Markup ekstensif yang bersifat deskriptif sendiri, Direkomendasikan oleh W3C, dan dirancang untuk menyimpan dan mengangkut data. Setelah menerima data dalam format XML, sebagai pengembang, Anda dapat mengonversinya menjadi format lain yang lebih mudah dibaca manusia seperti dokumen PDF atau MS Word. Artikel ini akan memandu Anda mengonversi data XML menjadi laporan PDF dan MS Word di Java menggunakan templat sederhana.

Topik-topik berikut dibahas di bawah ini:

Report Generation Java API - XML ke PDF dan WORD

GroupDocs.Assembly menyediakan Java API untuk mengotomatiskan pembuatan laporan dari data XML menggunakan template DOCX atau TXT. Ini lebih lanjut mendukung JSON, CSV, dan sumber data lainnya untuk mengonversi data menjadi laporan yang dapat disajikan dari berbagai format file.

Unduh atau Konfigurasi

Anda dapat mengunduh file JAR dari bagian unduhan, atau hanya mendapatkan repositori dan konfigurasi dependensi untuk pom.xml aplikasi Java berbasis maven Anda.

<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>

Hasilkan Laporan PDF dari Data XML di Java

Mari kita langsung ke langkah-langkah yang akan mengarahkan Anda untuk mengonversi data XML menjadi laporan PDF berformat.

  • Muat sumber data XML
  • Tentukan template sesuai dengan data XML Anda
  • Menyediakan sumber data dan template XML ke metode pembuatan laporan.
Laporan XML ke PDF di Java

Data XML

Untuk pembuatan laporan PDF, data sampel XML berikut digunakan. Ini berisi data manajer dan klien masing-masing dengan detail.

<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>

Templat

Tentukan template berikut dalam format TXT atau DOCX. Hal ini memungkinkan iterasi atas Manajer dan Kliennya masing-masing. Setelah itu, gunakan kode yang disebutkan di bawah ini untuk pembuatan laporan.

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

Langkah Java untuk Menghasilkan Laporan PDF dari XML

Langkah-langkah berikut dan kode memungkinkan mengotomatiskan pembuatan laporan PDF dari data XML sesuai template yang ditentukan.

  • Tentukan file data XML, file template teks, dan file laporan keluaran PDF.
  • Buat instance XMLDataSoure dengan file data XML.
  • Buat DataSourceInfo dengan sumber data XML yang ditentukan.
  • Panggil metode assembleDocument untuk membuat laporan PDF.

Kode berikut mengimplementasikan langkah-langkah di atas dan menghasilkan PDF dari sumber data XML di Java.

// Hasilkan Laporan PDF dari data XML menggunakan template TXT di Java
// Menentukan sumber data, template, dan file laporan keluaran.
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/PDFreportFromXML.pdf";

// Muat sumber data XML
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");

// Merakit dokumen untuk menghasilkan PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);

Hasilkan MS Word Report dari data XML di Java

Demikian pula, Anda dapat membuat laporan MS Word DOC/DOCX dari data XML yang sama di Java. Tidak akan ada perbedaan, kecuali mengubah nama file keluaran.

  • Muat file data XML.
  • Menentukan template dalam format TXT atau DOCX.
  • Tetapkan format dokumen laporan keluaran sebagai DOCX.
  • Berikan file data XML, templat, dan jalur file keluaran ke DocumentAssembler untuk mengonversi XML ke DOCX.

Kode berikut mengonversi XML dan menghasilkan file DOCX menggunakan templat yang ditentukan di Java.

// Hasilkan Laporan MS Word dari data XML menggunakan template teks di Java
// Menentukan sumber data, template, dan file laporan keluaran.
String xmlDataSource = "dataPath/Managers.xml";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/WordReportFromXML.docx";

//Instansiasi sumber data XML
XmlDataSource datasource = new XmlDataSource(xmlDataSource);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");

//Merakit dokumen 
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath,dataSourceInfo);

Dapatkan Lisensi API Gratis

Anda bisa mendapatkan lisensi sementara gratis untuk menggunakan API tanpa batasan evaluasi.

Kesimpulan

Sebagai kesimpulan, Anda telah belajar mengonversi data XML Anda ke dalam format PDF sebagai laporan di Java. Selain itu, Anda telah melihat pembuatan laporan dalam format DOC/DOCX dari XML yang sama menggunakan template. Setelah membaca seri, Hasilkan Laporan PDF dan MS Word dari JSON, CSV, XML, Anda akan merasa nyaman dalam membangun aplikasi Java pembuat laporan Anda sendiri.

Demikian pula, Anda dapat mengonversi banyak sumber data lain untuk dilaporkan. Untuk detail, opsi, dan contoh lebih lanjut, Anda dapat mengunjungi dokumentasi dan repositori GitHub. Jika ada pertanyaan lebih lanjut, hubungi kami melalui forum.

Lihat juga