Convertir HTML a PDF utilizando iText en Android. ¿Cómo configurar UTF-8 (diacríticos)?
Estoy intentando lo siguiente
itextg 5.5.3 tarro
xmlworker 5.5.3 jar
- Android - cómo convertir html a pdf?
- ¿Cómo puedo mostrar pdf en html (respuesta / solución de navegación cruzada)
- Error sobre el contexto FLAG_ACTIVITY_NEW_TASK
- Biblioteca de visor de PDF de Android o tutoriales de biblioteca de muPDF
- Android crea documento pdf desde webview con varias páginas
test.html
<html xmlns="http://www.w3.org/1999/xhtml" lang="cs"> <head> </head> <body> Test: ěščřžýáíé Ň ň ě Ě <div style="font-family: 'Times New Roman',font-weight: bold,backround-color blue;"> Test: ěščřžýáíé Ň ň ě Ě </div> </body> </html>
ConvertHTMLToPDF.java
public class ConvertHTMLToPDF { public static final String RESULT = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Notes/test.pdf"; public static final String RESORCE = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Notes/html/test.html"; void convertHTMLToPDF() throws IOException, DocumentException { Rectangle pagesize = new Rectangle(415,1750); Document document = new Document(pagesize); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT)); document.open(); XMLWorkerHelper.getInstance().parseXHtml(writer, document, new FileInputStream(RESORCE)); document.close(); System.out.println( "PDF Created!" ); } }
Prueba de salida.pdf
-
Prueba: šžýáíé
-
Prueba: šžýáíé
Cómo obtener test.pdf
Test: ěščřžýáíé Ň ň ě Ě Test: ěščřžýáíé Ň ň ě Ě
- Abrir un archivo PDF local en WebView con Google Docs
- Cómo puedo convertir un mapa de bits en formato PDF en android
- Crear archivo PDF / Word (Doc) en la aplicación
- Biblioteca de PDF para Android - PDFBox?
- AndroidPDFViewer - No se puede abrir el documento pdf en mi aplicación
- Limitaciones para abrir el archivo pdf en Android
- Convertir una página Pdf en Bitmap en Android Java
- Reduciendo el tamaño de Pdf creado usando PdfDocument en android
Eche un vistazo a los ejemplos de XML Worker: http://itextpdf.com/sandbox/xmlworker/
Ejemplo 1: D07_ParseHtmlAsian
Dile al método parseHtml()
que estás leyendo el XML como UTF-8:
XMLWorkerHelper.getInstance().parseXHtml(writer, document, new FileInputStream(HTML), Charset.forName("UTF-8"));
Ejemplo 2: D07bis_ParseHtmlAsian
Dígale al método parse()
que está leyendo el XML como UTF-8:
XMLWorker worker = new XMLWorker(css, true); XMLParser p = new XMLParser(worker); p.parse(new FileInputStream(HTML), Charset.forName("UTF-8"));
Tenga en cuenta que preferirá esto en favor del ejemplo 1 cuando desee controlar las fuentes que se utilizan para generar el PDF. Por favor compare con D07tris_ParseHtmlAsian .
- instalar mapas de la biblioteca externa en el dispositivo android
- Ignorar applicatoinID dentro del manifiesto del proyecto de la biblioteca con Gradle