дата штамп PDF скачать - PullRequest
       21

дата штамп PDF скачать

1 голос
/ 09 февраля 2011

У меня есть PDF, который пользователи могут скачать.Тем не менее, мне нужно указать дату загрузки в тексте в PDF.

Есть ли способ вставить штамп «дата сейчас» в PDF, чтобы он динамически добавлялся при открытии?

Возможно, вы можете добавить JavaScript в PDF?

Ответы [ 2 ]

0 голосов
/ 09 февраля 2011

JS звучит как путь ... в основном.

Вы можете добавить пустое текстовое поле, где вы хотите, чтобы дата появилась. Когда кто-то открывает PDF-файл в первый раз, вы можете установить значение поля.

ВОПРОСЫ:

  1. Reader не может сохранить измененные PDF-файлы, если они не были включены Reader через Acrobat.
  2. Сценарий будет запускаться, когда файл PDF открыт , а не загружен .

Если вы действительно хотите отметить время их загрузки, вам нужно сделать это на сервере. Снова поля, только на этот раз с некоторым смещением байтов.

Установите ключевые слова (или автора, что угодно ... одно из полей Doc Info, которое вы не используете) на кучу пустых мест ... достаточно, чтобы вместить вашу самую большую метку времени. В скрипте, когда форма открыта, вы ВСЕГДА пишете это информационное поле в поле вашей метки времени. Не беспокойтесь о включении считывателя.

Теперь, чтобы на самом деле записать метку времени, вам нужно знать точное смещение байтов этого информационного поля в вашем PDF, и вам нужно знать, сколько пустого пространства вам нужно для работы, чтобы вы не переполнились случайно (что было бы очень плохо). Когда придет время обслуживать ваш PDF, вы высасываете байты, меняете их для своей метки времени и сервер изменяете эти байты.

Это самый эффективный (и хрупкий) способ сделать это.


Если вы предпочитаете делать все правильно, используйте вашу любимую библиотеку PDF, чтобы изменить значение формы и предоставить полученный PDF. Сценарий не требуется, но значительно больше работы для вашего сервера.


Примечание : Несколько полей могут иметь одно и то же имя. Они автоматически имеют одинаковую ценность. Поэтому, если вы хотите, чтобы отметка времени отображалась на каждой странице, вам не нужны "timestamp1", "timestamp2" и т. Д. Вы можете дать всем полям одно и то же имя, а затем установить значение один раз. «Ваша любимая библиотека PDF» может не справиться с этим ужасно хорошо. iText делает, я уверен, что другие тоже.

0 голосов
/ 09 февраля 2011

Вы можете подписать и поставить метку времени на сервере перед тем, как передать его пользователю.Подписание может выполняться один раз в день (если вам не нужна более точная детализация, если указана временная метка).Это единственный надежный способ поставить метку времени в PDF.Кроме того, подпись может быть удалена, и если вы хотите добавить водяной знак, который не может быть легко удален, это другая история.

...