Hallo zusammen
Ich möchte gerne Html in Pdf umwandel - dafür soll eine bestimmt schriftart benutzt werden
Ich bekomme das Html als String und möchte das Pdf auch als String - allerdings noch Base64 codiert - zurückgeben.
Das klappt im groben auch schon, allerdings habe ich Probleme die Schriftart festzulegen.
Hier der mom Code:
....
//reader auf HTML-"inhalt"
Reader htmlreader = new StringReader(html);
// OutputStream - enhält nachher geparste daten
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PdfWriter.getInstance(document, baos);
//Style
StyleSheet styles = new StyleSheet();
styles.loadTagStyle("body", "font", "Bitstream Vera Sans");
// styles.loadTagStyle("body", "size", "30px");
// styles.loadTagStyle("body", "color", "blue");
document.open();
ArrayList p = HTMLWorker.parseToList(htmlreader, styles);
for (int k = 0; k < p.size(); ++k) {
Element e = (Element) p.get(k);
document.add(e);
}
document.close();
byte[] bs = baos.toByteArray();
//codiert pdfString in base64
String pdfBase64 = Base64.encodeBytes(bs); //output
//Test File -_> zur überprüfung
File pdfFile = new File("c://pdf//final2.pdf");
FileOutputStream out = new FileOutputStream(pdfFile);
out.write(bs);
out.close();
....
Viele Danke
Nadja
Ich möchte gerne Html in Pdf umwandel - dafür soll eine bestimmt schriftart benutzt werden
Ich bekomme das Html als String und möchte das Pdf auch als String - allerdings noch Base64 codiert - zurückgeben.
Das klappt im groben auch schon, allerdings habe ich Probleme die Schriftart festzulegen.
Hier der mom Code:
....
//reader auf HTML-"inhalt"
Reader htmlreader = new StringReader(html);
// OutputStream - enhält nachher geparste daten
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PdfWriter.getInstance(document, baos);
//Style
StyleSheet styles = new StyleSheet();
styles.loadTagStyle("body", "font", "Bitstream Vera Sans");
// styles.loadTagStyle("body", "size", "30px");
// styles.loadTagStyle("body", "color", "blue");
document.open();
ArrayList p = HTMLWorker.parseToList(htmlreader, styles);
for (int k = 0; k < p.size(); ++k) {
Element e = (Element) p.get(k);
document.add(e);
}
document.close();
byte[] bs = baos.toByteArray();
//codiert pdfString in base64
String pdfBase64 = Base64.encodeBytes(bs); //output
//Test File -_> zur überprüfung
File pdfFile = new File("c://pdf//final2.pdf");
FileOutputStream out = new FileOutputStream(pdfFile);
out.write(bs);
out.close();
....
Viele Danke
Nadja
Comment