Member 11852187 Ответов: 2

Как изменить поля в ПДФ при открытии в машине пользователя


Мне нужно отправить pdf-файл через вложение электронной почты в Outlook. В pdf есть поле, связанное с местным временем, и требование заключается в том, что когда pdf открыт в системе пользователя, то время будет отображаться в соответствии с часовым поясом пользователя. Я создал pdf файл с помощью itext sharp на языке c#

Пожалуйста, помогите мне.
Спасибо

Что я уже пробовал:

Мне нужно отправить pdf-файл через вложение электронной почты в Outlook. В pdf есть поле, связанное с местным временем, и требование заключается в том, что когда pdf открыт в системе пользователя, то время будет отображаться в соответствии с часовым поясом пользователя. Я создал pdf файл с помощью itext sharp на языке c#

Пожалуйста, помогите мне.
Спасибо

Kornfeld Eliyahu Peter

Открывает ли клиент PDF-файл с помощью написанного вами приложения?
Знаете ли вы часовой пояс получателя перед отправкой письма?
Что произойдет, если один и тот же PDF-файл будет открыт во второй раз из другого часового пояса?

Member 11852187

Спасибо за Ваш быстрый ответ!!!
1. Да клиент открывает pdf-файл с помощью таких приложений, как acrobat reader и т. д.
2.Нет, у меня нет часового пояса получателя.
3. Если pdf будет открыт во втором часовом поясе, то он будет показывать время в соответствии с его часовой пояс, что означает, что текущий часовой пояс пользователя.

Afzaal Ahmad Zeeshan

1) Вы не написали Acrobat Reader, потому что понятия не имеете, как это сделать.
2) затем попросите об этом. В противном случае используйте часовой пояс на основе UTC для поддержки всех культур. Поскольку вы понятия не имеете, максимум работы потребуется сделать клиенту, Acrobat Reader здесь, и для этого вам потребуется написать плагин — если они это позволят.
3) смотрите, PDF-файлы-это портативные, а не динамические форматы документов. Чтобы создать новый документ, вам нужно изменить его, для этого вам нужна библиотека. Клиент может выбрать нет пусть эта библиотека будет установлена на их машинах.

2 Ответов

Рейтинг:
0

Afzaal Ahmad Zeeshan

Вы не можете сделать это на их машине, так как у большинства из них вообще не будет установлена библиотека iTextSharp, для этого просто используйте "UTC time" или используйте свои локали для динамического создания метки времени.

В большинстве случаев я бы рекомендовал использовать HTML-письмо, Outlook сделает максимум своего, чтобы убедиться, что изменения сделаны для отображения содержимого в текущей локали — при условии, что они также используют Outlook; тем не менее, большинство нынешних поставщиков электронной почты предоставляют эту услугу для поиска и извлечения значений даты и времени для календарей и т. д. Однако PDF-файл потребуется изменить, чтобы изменить значение этого абзаца или фрагмента, что затем потребует от вас(пользователя r) наличия библиотеки... И так далее, и тому подобное. Единственное "логическое" решение этой проблемы - фактически использовать их локали, прежде чем создавать PDF-файлы.

Вы можете попросить пользователей ввести свои локали или отправить электронные письма с указанием времени UTC. Пользователи будут знать, какое время будет в их расписании.


Member 11852187

Как программно попросить пользователя ввести свои локали?
Как обновить время на основе локалей в pdf?

Afzaal Ahmad Zeeshan

Просто, когда они зарегистрировались на ваш сервис — любой способ обслуживания, уведомления и т. д. вы спросили у них адрес электронной почты. Вы можете попросить их указать свою страну или часовой пояс, а также подписаться на вашу газету.

Это лучший способ, и пользователи не будут возражать. В противном случае на той же странице вы можете сказать им, что если они этого не сделают, вам придется отправить отметку времени на основе UTC. Чтобы обновить это, вам просто нужно добавить условие (if ... else block) В код iTextSharp, чтобы добавить это время динамически.

Member 11852187

Я понимаю вашу озабоченность, но это не мое требование.
Мое требование - мне нужно отправить pdf-файл в виде вложения по электронной почте, но у меня нет никаких возможностей зарегистрировать пользователя или связаться с ним. У меня есть только его / ее адрес электронной почты. И любой посетитель может открыть эту электронную почту, и часовой пояс pdf изменится соответственно.

Afzaal Ahmad Zeeshan

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

Во-вторых, есть еще один способ сделать это, вы можете использовать метод в решении 2, создать PDF самостоятельно и написать дату, которую вы хотите добавить в JavaScript. Таким образом, это будет хорошо.

Member 11852187

Не могли бы вы предложить мне некоторые вещи для добавления javascript в PDF?

Afzaal Ahmad Zeeshan

Для этого вам потребуется самостоятельно создать PDF-документ с помощью Adobe Acrobat Reader.