Ich versuche, HTML in Android mit iTextPDF xmlWorker Tool zu konvertieren. Ich kann PDF-Datei erhalten. Aber einige Zeichen verschwinden nach dem Erstellen von PDF.Wie erhalten Sie das korrekte UTF-8-Zeichensatzergebnis mit der XMLWorkerHelper-Klasse in Android?
Mein Code:
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();
}
Ergebnis:
"I", "I" sind verschwinden. Ich habe Stringbuilder und einige andere Methoden ausprobiert.
"Jeder Text in einem PDF extrahiert werden kann" ist ein hartnäckiger Mythos. Können Sie diese Texte * richtig aus dem PDF kopieren? – usr2564301
thx @RadLexus. Ich habe viele Techniken ausprobiert. Ersetzen Sie Unicode, indem Sie verschiedene Schriftarten hinzufügen. Aber schließlich füge ich font-family tag für Körper hinzu und es funktioniert jetzt. – RedLEON