Catatan Aspose Word

Aspose.word merupakan library untuk mengedit file microsoft office .docx. Sebenernya microsoft tidak mengeluarkan dokumentasi resmi API microsoft word. Dan file microsoft word dibuat sesuah mungkin untuk di edit (obfuscate). Makanya ada library open source bernama Apache POI (Poor Obfuscation Implementation) untuk mengedit file .docx (seperti Aspose.Word)

// TODO

Custom Numbering/Bullet

        com.aspose.words.List docList = doc.getLists().get(0);


        docList.getListLevels().get(2).setNumberStyle(NumberStyle.ARABIC);
        docList.getListLevels().get(2).setNumberFormat("\u0002)");

Spasi Numbering/Bullet

        if(paragraph.getListFormat().getListLevelNumber() == 0) {
            paragraph.getParagraphFormat().setFirstLineIndent(FIRST_LINE_INDENT_PT);
            paragraph.getParagraphFormat().setLeftIndent(LEFT_INDENT_PT);
        }

Header Tidak Jalan

Catatan Jasper Report

JasperReport adalah library reporting untuk membuat file docx, pdf, csv, xls. Berbeda dengan aspose/poi yang langsung berinteraksi dengan API microsoft office. Jasper menggunakan engine sendiri.

// TODO

HTML Tag

Jasper support html tag di textfield nya. Namun tidak semua tag di support. dan bold dan italic harus di ubah dulu tag nya.

    public static String convertHtmlTagToJasper(String text) {
        String newText = text;

        newText = newText.replace("<strong>", "<b>");
        newText = newText.replace("</strong>", "</b>");
        newText = newText.replace("<em>", "<i>");
        newText = newText.replace("</em>", "</i>");

        return newText;
    }

Print Tabel Menggunakan ArrayList (bukan datasource/database)

Menggunakan parameter dengan type ArrayList<String>

	<subDataset name="tableDataset">
		<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
		<parameter name="tableDatasetParam" class="java.util.ArrayList" nestedType="java.lang.String"/>
	</subDataset>

				<jr:table>
					<datasetRun subDataset="tableDataset">
						<datasetParameter name="tableDatasetParam">
							<datasetParameterExpression><![CDATA[$P{kepadaArray}]]></datasetParameterExpression>
						</datasetParameter>
						<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource($P{tableArray}.size())]]></dataSourceExpression>
					</datasetRun>
					<jr:column>
						<property/>
						<jr:detailCell>
							<property/>
							<textField>
								<reportElement/>
								<textFieldExpression><![CDATA[$P{tableDatasetArray}.get($V{REPORT_COUNT} - 1)]]></textFieldExpression>

							</textField>
						</jr:detailCell>
					</jr:column>
				</jr:table>

Catchword

Mengedit Template