Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> html => pdf 
:(
    Опции темы
gelo86
Дата 18.3.2008, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 388
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



U menya nepoderziwajet UTF-8

Код


public static void main(String[] args) throws IOException, 
DocumentException {
    String inputFile = "doc.xhtml";
    String url = new File(inputFile).toURI().toURL().toString();
    String outputFile = "doc.pdf";
    OutputStream os = new FileOutputStream(outputFile);

    ITextRenderer renderer = new ITextRenderer();
    ITextFontResolver resolver = renderer.getFontResolver();
    resolver.addFont("C:\\Windows\\Fonts\\TIMES.TTF",
        BaseFont.IDENTITY_H,
        BaseFont.NOT_EMBEDDED
        );

    resolver.addFont("C:\\Windows\\Fonts\\TIMESBD.TTF",
        BaseFont.IDENTITY_H,
        BaseFont.NOT_EMBEDDED
        );
    resolver.addFont("C:\\Windows\\Fonts\\TIMESI.TTF",
        BaseFont.IDENTITY_H,
        BaseFont.NOT_EMBEDDED
        );
    resolver.addFont("C:\\Windows\\Fonts\\TIMESBI.TTF",
        BaseFont.IDENTITY_H,
        BaseFont.NOT_EMBEDDED
        );
    renderer.setDocument(url);
    renderer.layout();
    renderer.createPDF(os);

    os.close();
}



doc.xhtml
Код

<?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>
        <title>My First Document</title>
        
    </head>
    <body>
     <h1>Table pagination test</h1>
        <table>
            <thead>
                <tr>
                    <th>Head 01</th><th>Head 02</th><th>Head 03</th><th>Head 03</th><th>Head 03</th>
                </tr>
            </thead>
            <tbody>
                <tr><td>sdfg</td><td>sdg uhyuдщошфап впр ап </td><td>Text 03</td><td>Text 03</td><td>Text 03</td></tr>
            
            </tbody>
        </table>
    </body>
</html>




Ruskije bukwy prosto propuskajutsya. Pocemu? u kogoto mozet jest rabocij wariant?
PM MAIL   Вверх
gelo86
Дата 17.3.2009, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 388
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



Может кто знает, как зделат чтоб в пдфе работал линк. Теперь как я генерирую с html такыю строчку например <a href="www.google.com">Link in pdf</a>, то в пдфе палуцается простои зеленый текст. Как зделат чтоб работало как линк?

Код

    public static void generatePdf(File html, OutputStream os) throws IOException, DocumentException {
        ITextRenderer renderer = new ITextRenderer();
        setupFonts(renderer);
        parseXHtml(html);
        
        renderer.getSharedContext().setNamespaceHandler(new XhtmlNamespaceHandler());
        renderer.setDocument(html);
        renderer.layout();
        renderer.createPDF(os, true);
        renderer.finishPDF();
    }

    public static void parseXHtml(File file) throws FileNotFoundException, IOException {
        byte[] fileContent = FileUtils.readFileToByteArray(file);
        Tidy tidy = new Tidy();
        tidy.setXHTML(true);
        tidy.setInputEncoding("UTF-8");
        tidy.setOutputEncoding("UTF-8");
        OutputStream fos = FileUtils.openOutputStream(file);
        tidy.parse(new ByteArrayInputStream(fileContent), fos);
        IOUtils.closeQuietly(fos);
    }

    private static void setupFonts(ITextRenderer renderer) throws DocumentException, IOException {
        ITextFontResolver resolver = renderer.getFontResolver();

        String[] fontNames = { "TNR.TTF", "TNRB.TTF", "TNRI.TTF", "TNRBI.TTF", "arial.ttf", "arialbd.ttf", "arialbi.ttf", "ariali.ttf",
                "pala.ttf", "SEBBD_LT_uni.ttf" };
        String basePath = Constants.get("FONT.PATH");
        for (String font : fontNames) {
            String fontPath = basePath + font;
            resolver.addFont(fontPath, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
        }
    }



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0412 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.