Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / PDFBox по-русски / 20 сообщений из 20, страница 1 из 1
15.09.2011, 14:29
    #37441802
FullKettle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PDFBox по-русски
Вопрос по PDFBox. Следующий код не выводит в файл русские буквы, с латинскими всё в порядке. Пробовал разные "перекодировки" - толку нет. В чем может быть проблема?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
 public   void  doIt(String fileName)  throws  IOException, COSVisitorException
    {
        PDDocument doc =  null ;
         try  {
            doc =  new  PDDocument();

            PDPage page =  new  PDPage();
            doc.addPage(page);
            PDFont font = PDType1Font.TIMES_ROMAN;
            String message =  new  String("Привет");

            PDPageContentStream contentStream =  new  PDPageContentStream(doc, page);
            contentStream.beginText();
            contentStream.setFont(font,  12 );
            contentStream.moveTextPositionByAmount( 100 ,  700 );
            contentStream.drawString(message);

            contentStream.endText();
            contentStream.close();
            doc.save(fileName);
        }
         finally 
        {
             if ( doc !=  null  )
            {
                doc.close();
            }
        }
    }
...
Рейтинг: 0 / 0
15.09.2011, 14:48
    #37441833
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PDFBox по-русски
Первое что стоит проверить это правильно ли скомпилировался литерал. Остановите в дебаге и посмотрите содержимое переменной message. Если с ним всё в порядке. То можно дальше ковырять PDFBox.
...
Рейтинг: 0 / 0
15.09.2011, 14:50
    #37441839
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PDFBox по-русски
ещё можно проверить а содержит ли используемый шрифт русские символы.
...
Рейтинг: 0 / 0
15.09.2011, 14:53
    #37441851
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PDFBox по-русски
Скорее всего дело именно в фонтах. Нужно вместо стандарного PDF шрифта загрузить свой, который содержит нужные символы:
http://stackoverflow.com/questions/6181518/how-to-create-a-pdf-document-from-languages-of-unicode-char-set-regarding-using-t
...
Рейтинг: 0 / 0
19.09.2011, 16:08
    #37446478
FullKettle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PDFBox по-русски
BlazkowiczПервое что стоит проверить это правильно ли скомпилировался литерал. Остановите в дебаге и посмотрите содержимое переменной message. Если с ним всё в порядке. То можно дальше ковырять PDFBox.
Сорри, занимался другими делами. Но в message явно не то что надо
...
Рейтинг: 0 / 0
19.09.2011, 16:11
    #37446484
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PDFBox по-русски
Тогда нужно исправить процесс. У вас файл сохраняется в одной кодировке (UTF8?), а компилятор разбирает литералы в другой кодировке (cp1251?). Нужно чтобы было в одной.
...
Рейтинг: 0 / 0
19.09.2011, 16:32
    #37446518
FullKettle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PDFBox по-русски
BlazkowiczТогда нужно исправить процесс. У вас файл сохраняется в одной кодировке (UTF8?), а компилятор разбирает литералы в другой кодировке (cp1251?). Нужно чтобы было в одной.
Прошу прощения... Изменил кодировку страницы. Компилятор берет то что надо, а вот на выходе всё равно не то.
...
Рейтинг: 0 / 0
19.09.2011, 16:33
    #37446519
FullKettle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PDFBox по-русски
А в файле получается
...
Рейтинг: 0 / 0
19.09.2011, 16:38
    #37446526
FullKettle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PDFBox по-русски
Да и так как в примере тоже не то
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
    private   void  createPdfBoxDoc()  throws  IOException, FileNotFoundException, COSVisitorException {
            PDDocument document =  new  PDDocument();
            PDPage page =  new  PDPage();
            document.addPage(page);
            PDPageContentStream contentStream =  new  PDPageContentStream(document, page);

            PDFont font = PDTrueTypeFont.loadTTF(document, "c:/2103.ttf");
            contentStream.setFont(font,  12 );
            contentStream.beginText();
            contentStream.moveTextPositionByAmount( 100 ,  400 );
            contentStream.drawString("ПРИВЕТ");
            contentStream.endText();
            contentStream.close();
            document.save("c:/test.pdf");
            document.close();
        }
...
Рейтинг: 0 / 0
19.09.2011, 16:40
    #37446533
FullKettle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PDFBox по-русски
Хотя я может неподходящий шрифт взял.
...
Рейтинг: 0 / 0
19.09.2011, 16:44
    #37446541
FullKettle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PDFBox по-русски
Брал этот http://www.xfont.ru/font/%D1%88%D1%80%D0%B8%D1%84%D1%82_UniversCondensedMediumItalic_13948.htm
При открытии Adobe Reader ругается
...
Рейтинг: 0 / 0
19.09.2011, 16:59
    #37446573
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PDFBox по-русски
FullKettleА в файле получается
Странно. 4ре последних символа аккурат на 1024 подрезаны.
...
Рейтинг: 0 / 0
19.09.2011, 17:01
    #37446579
FullKettle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PDFBox по-русски
BlazkowiczFullKettleА в файле получается
Странно. 4ре последних символа аккурат на 1024 подрезаны.
Пробовали с этой задачей работать параллельно с коллегой. И у него не получается )))). То ли мы оба, то ли не то ли )))
...
Рейтинг: 0 / 0
19.09.2011, 17:01
    #37446580
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PDFBox по-русски
из всего множества бесплатных просмотрщиков pdf я остановил выбор на
pdf-renderer + ghostscript для конвертации "кривых" pdf в картинку и
склейке их в новый pdf.

ну и конечно icepdf с их фирменным рендерером шрифтов, правда за дорого
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
19.09.2011, 17:04
    #37446589
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PDFBox по-русски
FullKettleПробовали с этой задачей работать параллельно с коллегой. И у него не получается )))). То ли мы оба, то ли не то ли )))
Посмотрите в багтрекере может что-то по теме есть:
https://issues.apache.org/jira/browse/PDFBOX-903
...
Рейтинг: 0 / 0
19.09.2011, 21:18
    #37447025
Partisan M
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PDFBox по-русски
Не знаю PDFBox. Но использую iText. Разница в том, что к iText есть хорошая документация и программные примеры. Проблема нехотения выводиться русского шрифта у меня была, но решилась мгновенно. Поэтому если нет особой причины использовать PDFBox, то может перейти на iText.
...
Рейтинг: 0 / 0
19.09.2011, 22:05
    #37447076
FullKettle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PDFBox по-русски
Partisan MНе знаю PDFBox. Но использую iText. Разница в том, что к iText есть хорошая документация и программные примеры. Проблема нехотения выводиться русского шрифта у меня была, но решилась мгновенно. Поэтому если нет особой причины использовать PDFBox, то может перейти на iText.
Причины нет. Завтра посмотрю iText. Спасибо
...
Рейтинг: 0 / 0
19.09.2011, 22:17
    #37447092
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PDFBox по-русски
FullKettleПричины нет. Завтра посмотрю iText. Спасибо
Вот те раз. А кто вас на этот PDFBox вообще надоумил?
...
Рейтинг: 0 / 0
19.09.2011, 22:41
    #37447120
FullKettle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PDFBox по-русски
BlazkowiczFullKettleПричины нет. Завтра посмотрю iText. Спасибо
Вот те раз. А кто вас на этот PDFBox вообще надоумил?
Подошли,сказали. Ребят, надо сделать pdf отчетик небольшой, попробуйте в PDFBox, но не критично. Не, отчет уже сделали в Джаспере. Но я решил всё таки добить...что-нибудь альтернативное Джасперу.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
19.02.2015, 12:06
    #38883762
shteker06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PDFBox по-русски
Если для кого-то будет еще актуально, то я поборола русскую кодировку. Вот http://shteker.livejournal.com/14438.html готовое решение на примере заполнения квитанции банковскими реквизитами.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / PDFBox по-русски / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]