0
iTextPDF xmlWorkerツールを使用してAndroidでHTMLをPDFに変換しようとしています。 PDFファイルを入手できます。ただし、PDFを作成した後に文字が消えてしまいます。AndroidでXMLWorkerHelperクラスを使用して正しいUTF-8文字セット結果を取得するには?
マイコード:
private void pdfCreate (String filePath) {
try {
String timeStamp = new SimpleDateFormat("ddMMyyyy_HHmm").format(new Date());
fileNameAndPath = filePath + File.separator + timeStamp + ".pdf";
String d1 = "<html><head></head><body>İstanbul, Ankara, İzmir, Çanakkale</body></html>";
OutputStream myFile = new FileOutputStream(new File(fileNameAndPath));
Document document = new Document();
document.addCreationDate();
document.setPageSize(PageSize.A4);
document.setMargins(36, 36, 36, 36);
document.setMarginMirroring(true);
PdfWriter writer = PdfWriter.getInstance(document, myFile);
document.open();
XMLWorkerHelper worker = XMLWorkerHelper.getInstance();
InputStream is;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
is = new ByteArrayInputStream(d1.getBytes(StandardCharsets.UTF_8));
} else
is = new ByteArrayInputStream(d1.getBytes("UTF-8"));
String FONT = "assets/fonts/arial.ttf";
XMLWorkerFontProvider fontImp = new XMLWorkerFontProvider(XMLWorkerFontProvider.DONTLOOKFORFONTS);
fontImp.register(FONT);
worker.parseXHtml(writer, document, is, Charset.forName("UTF-8"), fontImp);
document.close();
myFile.close();
}
結果:
"I"、消えている "私"。私はstringbuilderといくつかの別のメソッドを試しました。
永続的な神話である "PDF内のすべてのテキストを抽出することができます"。これらのテキストをPDFから正しくコピーできますか? – usr2564301
thx @RadLexus私は多くのテクニックを試しました。ユニコードを置き換える、異なるフォントを追加する。しかし最後に私はボディファミリーのためにフォントファミリタグを追加しました。 – RedLEON