Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2009, 11:02   #1
AnTe
Форумчанин
 
Регистрация: 25.09.2008
Сообщений: 209
По умолчанию PDF: внедрить свои данные

Можно ли в файл PDF дописать какие-то свои данные, просто для хранения? (потом самому же выковырять)

т.е. чтобы на отображение это не влияло, а я сам мог потом их "достать" из файла

может, кто-нибудь подскажет хорошую библиотеку, для работы с pdf?

Вообще, у меня ситуация ещё проблемней. Программа генерирует таблицу, специального вида, отображает её на экране, выводит на печать, и всё такое. Так же может сделать экспорт в pdf. В программе используется компонент TPrintPreview, от Delphi Area, тот, в свою очередь, для экспорта в pdf, использует библиотеку dspdf.

В систему документооборота два файла не засунуть, а если хранить исходник (в моём формате) - то его вьювер его, конечно, не откроет. Пришла идея, генерировать pdf, а в него уже вписывать свои данные. При открытии акробатом все видят изображение, при открытии в моей программе я залажу в нужную "секцию" и читаю свои данные.

Такое возможно, хотя бы теоретически?

ps Попробовал "в лоб": создал pdf-ку, "приклеил" к ней файл, досовской командой copy "1.pdf + 1.txt 2.pdf" - акробат ридер отказался открывать полученный файл, сказав, что фатальная ошибка
AnTe вне форума Ответить с цитированием
Старый 27.10.2009, 11:38   #2
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

была такая софтинка в рунете лет 10 назад клеил jpg+exe. Поищи может найдёшь.
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 27.10.2009, 11:42   #3
AnTe
Форумчанин
 
Регистрация: 25.09.2008
Сообщений: 209
По умолчанию

клеёв для exe полно - там то проблемы нет, формат "стандартизирован" венда запускает с нуля ехешник и всё. Можешь хоть авишник дописать (а лучше - другой ехешник), запускай только с того же места.

pdf файл открывается ридером, и именно он начинает анализировать структуру. Я вмешался - он заметил. Посему надо писать какими-то штатными средствами, похоже
AnTe вне форума Ответить с цитированием
Старый 27.10.2009, 12:23   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

...дык поищем
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 27.10.2009, 12:31   #5
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

copy /b "1.pdf + 1.txt 2.pdf"

всё, что идёт в PDF после команды %%EOF, вьюверами игнорируется
пыщь

Последний раз редактировалось JTG; 27.10.2009 в 12:34.
JTG вне форума Ответить с цитированием
Старый 27.10.2009, 12:32   #6
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

Я клеил к картинке ЕХЕ ... и открывалась картинка.... А ехе так бонусом был... попробуй с начало "клеями" не получится будем изобретать чёнить
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 28.10.2009, 07:34   #7
AnTe
Форумчанин
 
Регистрация: 25.09.2008
Сообщений: 209
По умолчанию

Цитата:
Сообщение от JTG Посмотреть сообщение
copy /b "1.pdf + 1.txt 2.pdf"

всё, что идёт в PDF после команды %%EOF, вьюверами игнорируется
Спасибо!!!! Оно самое! Сейчас буду разбираться, как склеить и расклеить программным способом
AnTe вне форума Ответить с цитированием
Старый 26.11.2009, 20:04   #8
Gay000login
 
Регистрация: 24.11.2009
Сообщений: 4
По умолчанию

Шпионы что-ли? Конденфициальную информацию прячите?
Извените что помешал_ :-)
Gay000login вне форума Ответить с цитированием
Старый 12.07.2011, 16:50   #9
AnTe
Форумчанин
 
Регистрация: 25.09.2008
Сообщений: 209
По умолчанию

Здравствуйте. Сделал программу, однако, есть нюанс:

Цитата:
Сообщение от JTG Посмотреть сообщение
всё, что идёт в PDF после команды %%EOF, вьюверами игнорируется
Вьюверами, действительно, игнорируется. А вот если на компьютере установлен PDF Acrobat (Full) - после открытия в нём файла, даже если пользователь абсолютно ничего не делает, и пытается закрыть приложение, Acrobat выдаёт предупреждение: «Сохранять изменения?».

Если ответить ответить «Нет» - то всё нормально. Но если нажать "Да" - Acrobat обрезает приклеенную часть.

Описал этот момент в документации. Проблемы, как того и следовало ожидать, начинаются при массовой эксплуатации. Неосторожна нажимая "Да", люди сплошь и рядом теряют "приклеенные" метаданные, причём с виду у них ничего не происходит: ведь у самого документа, который отображается в Acrobat-е вид не изменяется.

На самом деле файл начинает весить в десять раз меньше, т.к. метаданные занимают в десято раз больше, чем урезанная pdf-ка, но даже те, кто знают, замечают это слишком поздно.

Что можно сделать? Каким образом, с минимальными затратами, "правильным" образом внедрить свои данные в PDF-ку? Куда копать? PostScript?

Код отрисовки в PDF уже написан и отлажен, нужно только вклеить данные.
AnTe вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как внедрить PDF файл VladimirVB Общие вопросы Delphi 3 04.08.2009 08:05
Внедрить контрол в FlexGrid beryllium Общие вопросы .NET 0 21.02.2008 01:09
Help... Нужно внедрить файл в exe Deha Помощь студентам 2 28.11.2007 13:30
как внедрить 'объект' в программу? steck Общие вопросы Delphi 1 07.04.2007 17:20