не получается эффект шрифта в PDF при конвертации HTML в PDF файл - PullRequest
0 голосов
/ 30 сентября 2011

Используя этот код, я являюсь Абелем для преобразования HTML-текста в PDF, и мой код может генерировать PDF-файл в определенном месте. но проблема в том, что ...... я даю стиль шрифта в тегах body, поэтому при генерации PDF я не получаю этот эффект стиля шрифта при генерации PDF, например.

 // 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");

так что здесь мой стиль шрифта - Zurich 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();

1 Ответ

0 голосов
/ 30 сентября 2011

Используйте класс абзаца iTextSharp и установите для него шрифт и стиль следующим образом

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 не будет работать.

Вы также можете использовать класс BaseFont в iTextSharp

...