purebasic.info
http://purebasic.info/phpBB3ex/

Библиотека для работы с PDF файлами
http://purebasic.info/phpBB3ex/viewtopic.php?f=18&t=4190
Страница 2 из 2

Автор:  kvitaliy [ Пн май 18, 2015 6:06 pm ]
Заголовок сообщения:  Re: Библиотека для работы с PDF файлами

Вот мой PDF, кинь свой. Может у меня читалка не читает?
В принципе на выходе не упакованный PDF получается, всю структуру видно, я хоть сравню, что у меня не так?

Вложения:
text_multi.zip [2.44 KiB]
Скачиваний: 240

Автор:  pablov [ Пн май 18, 2015 7:11 pm ]
Заголовок сообщения:  Re: Библиотека для работы с PDF файлами

Твой файл у меня на русском
погляди на мой :)
Я пробовал в трех читалках: PDFMaster, Soda PDF и Суматра PDF, везде кириллица отображается корректно.
Одно НО. Не могу сменить шрифт, ну хотя бы на Arial. По идее должно быть так
Код:
1
2
fontName.s = HPDF_LoadTTFontFromFile (pdf, @"arial.ttf", #HPDF_TRUE)
font       = HPDF_GetFont(*pdf, @fontName, @"CP1251")


Но на HPDF_LoadTTFontFromFile выдает ошибку 4119 "Cannot open a file. (A detailed code is set.)" :x
Вот хорошо скомпанованый хелп к этой библиотеке https://github.com/libharu/libharu/wiki/API:-Document
PS А с какого расширение "PDF" запрещены? :shock:

Вложения:
text_multi.rar [2.29 KiB]
Скачиваний: 292

Автор:  Сергейчик [ Пн май 18, 2015 7:14 pm ]
Заголовок сообщения:  Re: Библиотека для работы с PDF файлами

Ввашем также как и в созданном.Foxit Reader :D
Страница №: 1
- А я видела воров, - сказала Нава. - Молчун бил их палкой, а потом
они гнались за нами, но мы убежали, мы очень быстро бежали, прямо через
болото, хорошо, что Колченог показал мне, где тропа, а то нам бы не
убежать. Молчун совсем из сил выбился, пока мы бежали, он совсем плохо
бегает... Молчун, ты не отставай, ты за нами иди!..
Страница №: 2
- Чего, шерсть на носу, касаешься? - прохрипел он, глядя Кандиду в
ноги. - Один вот тоже, шерсть на носу, касался, так его взяли за руки и за
ноги и на дерево закинули, там он до сих пор и висит, а когда его снимут,
так больше, небось, касаться не будет, шерсть на носу...

В оглавлении (CP1251 текст Я ЖЫЛ ЭзЪУ ФХЦЧШЩ)
Страница №: 3(Пусто)

Автор:  kvitaliy [ Пн май 18, 2015 7:44 pm ]
Заголовок сообщения:  Re: Библиотека для работы с PDF файлами

Оба файла одинаково не рабочие.
Изображение

Тестирую на самой новой WIN8.1 c самыми последними обновлениями и на дефолтном Adobe и на XP SP3.
И главное что оглавление нормальное, а текст не читаем.

Автор:  pablov [ Пн май 18, 2015 11:38 pm ]
Заголовок сообщения:  Re: Библиотека для работы с PDF файлами

win 8.1, штатный просмотрщик

Изображение

PDF Editor 4.5

Изображение

Adobe Reader XI, действительно, текст - кавдратиками :shock:

Автор:  cherri123 [ Пн июн 29, 2015 4:22 pm ]
Заголовок сообщения:  Re: Библиотека для работы с PDF файлами

Либу не тестил.
Но спрошу сразу: какие типы изображений потдерживает?
PurePDF не все картинки адекватно засовываются в документ.

Автор:  pablov [ Пн июн 29, 2015 8:06 pm ]
Заголовок сообщения:  Re: Библиотека для работы с PDF файлами

cherri123 писал(а):
Либу не тестил.
Но спрошу сразу: какие типы изображений потдерживает?
PurePDF не все картинки адекватно засовываются в документ.

Судя по докам Png и Jpeg

Автор:  puric [ Ср авг 14, 2019 12:39 pm ]
Заголовок сообщения:  Re: Библиотека для работы с PDF файлами

Подниму тему.

Почему-то не получается вызвать функцию HPDF_Page_CreateTextAnnot, ругается на HPDF_INVALID_ENCODER. В описании функции сказано, что если encoder указан Null, то используется PDFDocEncoding. Но такой вариант не работает. Получаем дескриптор функцией HPDF_GetEncoder (возвращается ненулевой дескриптор), скармливаем его HPDF_Page_CreateTextAnnot, но все равно возвращается ошибка 1027. Проверка типа дескриптора функцией HPDF_Encoder_GetType возвращает 0 (однобайтовый, в случае некорректного дескриптора вернулся бы код 3).

Пробовал на комплекте с Github Progi1984 (работают все примеры кроме примеров с указанной функцией) и от pablov с предыдущей страницы этой темы, даже подсовывал другую версию dll - результаты одинаковы. Что этой собаке надо? Кто-нибудь сталкивался?

Автор:  Сергейчик [ Чт авг 15, 2019 11:44 am ]
Заголовок сообщения:  Re: Библиотека для работы с PDF файлами

puric писал(а):
Подниму тему.

Почему-то не получается вызвать функцию HPDF_Page_CreateTextAnnot, ругается на HPDF_INVALID_ENCODER. В описании функции сказано, что если encoder указан Null, то используется PDFDocEncoding. Но такой вариант не работает. Получаем дескриптор функцией HPDF_GetEncoder (возвращается ненулевой дескриптор), скармливаем его HPDF_Page_CreateTextAnnot, но все равно возвращается ошибка 1027. Проверка типа дескриптора функцией HPDF_Encoder_GetType возвращает 0 (однобайтовый, в случае некорректного дескриптора вернулся бы код 3).

Пробовал на комплекте с Github Progi1984 (работают все примеры кроме примеров с указанной функцией) и от pablov с предыдущей страницы этой темы, даже подсовывал другую версию dll - результаты одинаковы. Что этой собаке надо? Кто-нибудь сталкивался?

Если этот дискриптор на документ работает с другой функцией то скорее не он виноват?
Prototype Proto_Page_CreateTextAnnot(page, *rect.RECT, *text, encoder)
Global HPDF_Page_CreateTextAnnot.Proto_Page_CreateTextAnnot = GetFunction(0, "HPDF_Page_CreateTextAnnot")
Я так понемаю эта функция вставки текста(с определённой кодировкой) в прямоугольник с координатами в структуре RECT. :roll:
PS:Может ошибка в аргументах?

Автор:  puric [ Чт авг 15, 2019 12:23 pm ]
Заголовок сообщения:  Re: Библиотека для работы с PDF файлами

Сергейчик писал(а):
Prototype Proto_Page_CreateTextAnnot(page, *rect.RECT, *text, encoder)
Global HPDF_Page_CreateTextAnnot.Proto_Page_CreateTextAnnot = GetFunction(0, "HPDF_Page_CreateTextAnnot")
Я так понемаю эта функция вставки текста(с определённой кодировкой) в прямоугольник с координатами в структуре RECT. :roll:
PS:Может ошибка в аргументах?

Да я уже всю бошку сломал. Мне оно не нужно, в сущности, но зацепило. От отчаяния даже пересобрал dll из последних исходников. Не помогло вообще никак. ))

Кстати, у вас функция описана для ASCII-режима, на современных версиях текстовый аргумент следует передавать как ASCII("...") или переписать объявление аргумента с *text на text.p-ascii, тогда пурик сам все сделает как надо. Под старой версией в режиме ASCII примеры тоже, кстати, компилировал. Тоже не помогло. Или откатиться на еще более древнюю?

Функция HPDF_CreateOutline работает (HPDF_CreateOutline.l(*pdf.HPDF_Doc, *parent.HPDF_Outline, title.p-ascii, *encoder.HPDF_Encoder) As "HPDF_CreateOutline") и с явным указание энкодера (HPDF_GetEncoder (pdf, "CP1251")) и с #Null. HPDF_Page_CreateTextAnnot.l(*page.HPDF_Page, *rect.HPDF_Rect, text.p-ascii, *encoder.HPDF_Encoder) As "HPDF_Page_CreateTextAnnot" - не работает с любым последним аргументом.

Также не хочет работать HPDF_Page_CreateLinkAnnot.l(*page.HPDF_Page, *rect.HPDF_Rect, *dst.HPDF_Destination) As "HPDF_Page_CreateLinkAnnot" - ругается на последний аргумент, хотя HPDF_Outline_SetDestination.HPDF__STATUS(*outline.HPDF_Outline, *dst.HPDF_Destination) As "HPDF_Outline_SetDestination" - работает с точно таким же dst. rect вне подозрений, потому что его же нормально кушает HPDF_Page_CreateURILinkAnnot.l(*page.HPDF_Page,*rect.HPDF_Rect, uri.p-ascii) As "HPDF_Page_CreateURILinkAnnot"

Смущают две вещи: 1. Не работают два примера из 15, автор же наверняка их компилировал и ошибок у него не возникало, а это фатальные ошибки, результирующий pdf не создается. 2. Обе функции относятся к HPDF_Page, а не HPDF_ - может, и совпадение, но...

Автор:  puric [ Чт авг 15, 2019 12:42 pm ]
Заголовок сообщения:  Re: Библиотека для работы с PDF файлами

Нет, попробовал версию 4.61 (автор работал с 4.40). Те же самые ошибки.

Описаны функции одинаково, соответствуют описаниям в wiki библиотеки. Неужели придется лезть в исходники...

Страница 2 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/