:: Visual Foxpro, Foxpro for DOS
djvu в image
vaalera1976
Автор

Сообщений: 34
Дата регистрации: 06.05.2010
Добрый день.
Может кто сталкивался с такой ситуацией:
есть книга в формате djvu или pdf, необходимо из книги извлечь одну страницу и поместить ее в контрол image на форме.
Два дня просидел в инете не ничего кроме opendjvu.dll не нашел. К тому-же по opendjvu.dll естть только наименования функций без их описания (неизвестно какие параметрі передавать и что получешь в результате). Может кто подскажет в каком направлении хотябы искать, или где есть описание библиотеки opendjvu.dll
Ratings: 0 negative/0 positive
Re: djvu в image
Dag

Сообщений: 1156
Дата регистрации: 08.02.2006
vaalera1976
есть книга в формате djvu или pdf, необходимо из книги извлечь одну страницу и поместить ее в контрол image на форме.
Речь действительно идет об одной странице? Тогда можно обойтись разовой операцией импорта.
Ratings: 0 negative/0 positive
Re: djvu в image
Каратаев

Сообщений: 3993
Откуда: Алматы
Дата регистрации: 04.12.2001
Если действительно одну страницу, то обычный скриншот не пойдет?
Ratings: 0 negative/0 positive
Re: djvu в image
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
djvu.nbl.by.ru


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: djvu в image
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
А не пробовал как-то прикрутить DjVuLibre: djvu.sourceforge.net ?


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: djvu в image
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
Можно попробовать использовать IE вместо image.


------------------
Совершенство - это не тогда, когда нельзя
ничего прибавить, а тогда, когда нечего убавить.
Ratings: 0 negative/0 positive
Re: djvu в image
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Влад Колосов
Можно попробовать использовать IE вместо image.

Это в случае, если установлен нужный плагин. Если же он установлен, то в принципе можно было бы и так попробовать включить его напрямую на форму, без браузера. Если не ошибаюсь, обычно это DjVu Control от LizardTech. Среди вставляемых ole-объектов он отображается как DjVuCtl Class (DjVuCntl.dll). Только где-то надо еще найти описание, как подгружать через него файл. Глянул мельком - очевидных методов загрузки как будто не видно.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: djvu в image
kornienko_ru

Сообщений: 235
Откуда: Владивосток
Дата регистрации: 06.09.2015
Тема для меня актуальна. Есть такая задача из большого pdf-файла извлечь одну страницу в строковую переменную. На сегодняшний день она решена с помощью консольной утилиты pdftk.exe 32бит. Есть еще одна windows-утилита pdfseparate.exe в составе набора утилит для работы с pdf-файлами на гитхабе github.com. Но в идеале хотелось бы именно извлечь прямо в переменную из самого pdf средствами чистого prg без всяких консольных утилит в общем случае интервал страниц от и до.
PS. У меня VFPA 10.1 64 бит. Т.к. у этой СУБД кроме больших pdf еще и размер строковой переменной увеличен до 62М вместо 16М у VFP9.



Исправлено 1 раз(а). Последнее : kornienko_ru, 23.04.24 06:55
Ratings: 0 negative/0 positive
Re: djvu в image
kornienko_ru

Сообщений: 235
Откуда: Владивосток
Дата регистрации: 06.09.2015
Написал класс чтения объектов из pdf. Структура pdf такова, что чтобы извлечь одну страницу или интервал страниц, нет необходимости читать весь файл. Там присутствуют ссылки на каждую страницу. Prg где-то будет 250 строк.
Ratings: 0 negative/0 positive
Re: djvu в image
kornienko_ru

Сообщений: 235
Откуда: Владивосток
Дата регистрации: 06.09.2015
Даже рейтинг опустили
Ну если никому не интересно... текст функции не публикую. Она работает очень быстро. Пример обращения:
* извлечение одной страницы:
stroka=pdfToStr("D:\work\Вождение\Ezgu bez avarii.pdf",11)
=strToF(m.stroka,"my11.pdf")
* или для интервала страниц:
stroka=pdfToStr("D:\work\Вождение\Ezgu bez avarii.pdf",11,14)
=strToF(m.stroka,"my11-14.pdf")
Ratings: 0 negative/0 positive
Re: djvu в image
sphinx

Сообщений: 31402
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
Минусует один человек, а не все сообщество. Вы как в первый раз...


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: djvu в image
sphinx

Сообщений: 31402
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
А кодом - если поделитесь - кому-то он пригодится. Пусть не всем. А это требуется? Берем из общего хранилища то, что коллеги уже написали. Разумеетсям - если не надо - не берем.


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: djvu в image
AndyNigmatec

Сообщений: 1590
Откуда: Волгоград
Дата регистрации: 28.06.2015
Кстати да - на минусы-плюсы вообще параллельно )))
Ratings: 0 negative/1 positive
Re: djvu в image
sphinx

Сообщений: 31402
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
(на всякий случай карму поправил хорошему человеку).

Андрей, мы тут собираемся не ради плюсов и минусов. Это не курилка. Не нравится - не используй. Не заставляет никто. А вот как правильно/гибко/масштабируемо - прислушиваюсь. Еще раз. На форуме есть хранилище проектов, но многое в него не вошло, много на страницах форума. Есть желание - бери, пользуй, задавай вопросы. И поделиться кодом не забываем, раз РЕШИЛИ проблему. Занафига коллегам изобретать квадратный лисапед?


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: djvu в image
lemenev

Сообщений: 136
Дата регистрации: 23.06.2022
kornienko_ru
Написал класс чтения объектов из pdf

Написал - молодец. Опубликуй для других - будешь большой молодец.
Ratings: 0 negative/0 positive
Re: djvu в image
kornienko_ru

Сообщений: 235
Откуда: Владивосток
Дата регистрации: 06.09.2015
github.com
Ratings: 0 negative/0 positive
Re: djvu в image
lemenev

Сообщений: 136
Дата регистрации: 23.06.2022
kornienko_ru
текст функции не публикую. Она работает очень быстро

Да, функция работает быстро, но всё, что она выдаёт – набор из 137 символов:

%PDF-1.1
xref
0 3
0000000000 65536 f
0000000001 65536 f
0000000002 65536 f
trailer
<</Info 0 0 R /Root 0 0 R /Size 3>>
startxref
9
%%EOF

Публикую здесь для обсуждения текст вашей функции:




Исправлено 1 раз(а). Последнее : lemenev, 02.05.24 12:37
Ratings: 0 negative/0 positive
Re: djvu в image
alex;

Сообщений: 2961
Откуда: Москва
Дата регистрации: 23.11.2004
Михаил, переместите код в спойлер, а то листать устал )
Ratings: 0 negative/0 positive
Re: djvu в image
kornienko_ru

Сообщений: 235
Откуда: Владивосток
Дата регистрации: 06.09.2015
lemenev,
Еще раз проверил. Всё работает. Вы бы не могли прислать ваш исходный pdf?

P/S хотя я догадываюсь в чем проблема..... В установках SET .... Исходник поправил. Если еще, что-то не так сообщайте...
Я поставил проверку на привычный мне set exact on. Хотя с другой стороны у меня всё работало и без set exact.... Уже ничего не понимаю. Чтобы не гадать пришлите исходный pdf.



Исправлено 2 раз(а). Последнее : kornienko_ru, 02.05.24 14:27
Ratings: 0 negative/0 positive
Re: djvu в image
lemenev

Сообщений: 136
Дата регистрации: 23.06.2022
Я проверил на нескольких. Посылаю один.

Вызов:
stroka=pdfToStr("C:\Users\User\Documents\Visual FoxPro Projects\AA.pdf",6,7)
CLEAR
?LEN(stroka)
?stroka
=strToF(m.stroka,"my2.pdf")
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 15 (Гостей: 15)

© 2000-2024 Fox Club 
Яндекс.Метрика