我想构建生成 pdf 文件的 Android 应用程序,但我想添加适合应用程序用途的自定义字体。
我尝试使用字符串路径“src/main/...etc”,但它不起作用
阅读IText7文档真的很痛苦,有什么解决办法吗?
我如何使用自定义来生成PDF,如下所示,您会发现它很有用。
有两种方法
res/font/..
文件夹中并使用。assets/..
并使用。第一种方法的问题是,当您应用
时,它不会按预期工作。Proguard
工作方式
不要忘记在
文件夹中添加字体asset
private fun GeneratePDF() {
try {
val path =
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
.toString() + "/MyPDF"
val file = File(path, "my_file.pdf")
val pdfWriter = PdfWriter(file)
val pdfDocument = PdfDocument(pdfWriter)
val document = Document(pdfDocument)
val font = PdfFontFactory.createFont(
"assets/regular.ttf",
PdfEncodings.IDENTITY_H
)
document.setFont(font)
pdfDocument.defaultPageSize = PageSize.A4
pdfDocument.addEventHandler(PdfDocumentEvent.END_PAGE, TextFooterEventHandler(document))
val secondLine = Paragraph(
"${
SimpleDateFormat(
"dd-MM-yyyy hh:mm a",
Locale.getDefault()
).format(Date())
} \n Created By : My"
).setBold().setFontSize(12f).setItalic()
document.add(secondLine)
val line = SolidLine(1f)
val linebreak = LineSeparator(line)
document.add(linebreak)
document.close()
} catch (e: java.lang.Exception) {
e.printStackTrace()
}
}
希望它对你有用。快乐写作:)