Ich möchte eine HTML-Seite, die arabische Zeichen enthält, mit FlyingSaucer in eine PDF-Datei konvertieren, aber das generierte PDF enthält keine kombinierten Zeichen und druckt die Ausgabe rückwärts.Konvertieren von HTML-Seite mit arabischen Zeichen in PDF mit FlyingSaucer
HTML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body style="font-size:15px;font-family: Arial Unicode MS;">
<center style="font-size: 18px; font-family: Arial Unicode MS;">
<b>
<i style="font-family: Arial Unicode MS;">
جميع الحقوق<br />
</i>
</b>
</center>
</body>
</html>
Java Auszug:
String inputFile = "c:\\html.html";
String url = new File(inputFile).toURI().toURL().toString();
String outputFile = "c:\\html.pdf";
OutputStream os = new FileOutputStream(outputFile);
ITextRenderer renderer = new ITextRenderer();
renderer.getFontResolver().addFont("c://ARIALUNI.TTF", BaseFont.IDENTITY_H,BaseFont.EMBEDDED);
renderer.setDocument(url);
renderer.layout();
renderer.createPDF(os);
os.close();
Actual PDF Ergebnis:
Expected PDF Ergebnis:
Was kann ich tun, das richtige Ergebnis zu erhalten?
Eigentlich versuchen Sie eine Leinwand Bild in PDF zu konvertieren ??? – CoderNeji
Das sieht für mich wie eine Flieger-Untertassen-Wanze aus. Arabische Unicode-Zeichen liegen in einem klar definierten Bereich und sind (offensichtlich) als RTL bekannt (von rechts nach links). Klar, der Browser rendert RTL, aber fliegende Untertasse ist es nicht. Melden Sie den Fehler bei Google. –
Hatten Sie eine Lösung für das arabische Format? – Hana90