使用下面的代码我是Abel将HTML文本转换为PDF,我的代码可以在特定位置生成PDF文件。但问题是......我在body标签中给出了字体样式,所以当生成PDF时我没有在生成PDF ex中获得这种字体样式效果。
// Here On Body Tag I have given a Zurich BT font style
StyleSheet styles = new StyleSheet();
//styles.loadTagStyle("body", "font-family", "Zurich BT");
styles.loadTagStyle("body", "font", "Zurich BT");
所以这里我的字体样式是苏黎世BT,但是我在生成PDF上的平面简单文字没有对文字产生任何影响。
我正在使用itextpdf-5.1.1版本,我的代码是....
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Document pdfDocument = new Document();
Reader htmlreader = new StringReader("<html><head></head><body>"
+ " <font> HELLO MY NAME IS JIMIT TANK </font> </html></body>");
PdfWriter.getInstance(pdfDocument, baos);
pdfDocument.open();
// Here On Body Tag I am giving a Zurich BT font style
StyleSheet styles = new StyleSheet();
//styles.loadTagStyle("body", "font-family", "Zurich BT");
styles.loadTagStyle("body", "font", "Zurich BT");
ArrayList arrayElementList = HTMLWorker.parseToList(htmlreader,styles);
for (int i = 0; i < arrayElementList.size(); ++i) {
Element e = (Element) arrayElementList.get(i);
pdfDocument.add(e);
}
pdfDocument.close();
byte[] bs = baos.toByteArray();
String pdfBase64 = Base64.encodeBytes(bs); //output
File pdfFile = new File("c:/pdfExample.pdf");
FileOutputStream out = new FileOutputStream(pdfFile);
out.write(bs);
out.close();
答案 0 :(得分:0)
使用iTextSharp Paragraph类并像这样设置字体和样式
Document doc = new Document(PageSize.A4);
Paragraph paraReportTitle = new Paragraph();
//paraReportTitle.Font = new Font(Font.FontFamily.HELVETICA, 13f, Font.BOLD);
paraReportTitle.Font = new Font(Font.FontFamily.HELVETICA, 8f, Font.NORMAL);
doc.Add(paraReportTitle);
将样式设置为html无效。