use method build.gradle AndroidManifest +
Android - Java Apache Config Windows Batch Linux Bash CSS Gradle HTML ini File iOS - Swift Java JavaScript JSON Format Kotlin LESS Markdown MySQL PHP Plain Text Properties File Rust Go Lang SCSS Swift XML
CratePdfFromHtml("<p style=\"text-align: center;\"><strong>به نام خدا</strong></p><p style=\"text-align: center;\">این یک نمونه تستی است</p>", Environment.getExternalStorageDirectory() + "/rr.pdf");
private void CratePdfFromHtml(String str_html, String str_path) {
try {
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(str_path));
document.open();
FontFactory.register("assets/tahoma.ttf");
StyleSheet styles = new StyleSheet();
styles.loadTagStyle(HtmlTags.BODY, HtmlTags.FONTFAMILY, "tahoma");
styles.loadTagStyle(HtmlTags.BODY, HtmlTags.ENCODING, "Identity-H");
styles.loadTagStyle(HtmlTags.BODY, HtmlTags.BORDER, "0");
List<Element> parsedHtmlElements = HTMLWorker.parseToList(new StringReader(str_html), styles);
PdfPCell pdfCell = new PdfPCell();
pdfCell.setBorder(Rectangle.NO_BORDER);
pdfCell.setRunDirection(PdfWriter.RUN_DIRECTION_RTL);
for (Element htmlElement : parsedHtmlElements)
{
pdfCell.addElement(htmlElement);
}
PdfPTable table1 = new PdfPTable(1);
table1.addCell(pdfCell);
document.add(table1);
document.close();
} catch (Exception e) {
Log.i("TAG", "Error in Crate Pdf");
e.printStackTrace();
}
}
dependencies {
implementation 'com.itextpdf:itextpdf:5.0.6'
}
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>