2012-02-08 2 views
3

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

контекст:

Пользователь загружает несколько файлов в формате PDF на свой счет, а потом, он нажимает на «печатать все Pdf отсоединяемые», вместо того, чтобы загружать, а затем один за другим нажимать на «печать»

Спасибо.

+1

Это хороший вопрос, я знаю, что вы можете инициировать окно печати с помощью Javascript .. 'window.print()' .. IBM делает это с некоторыми из своих программ CRM/ERP .. они объединяют вложения и открывают диалоговое окно печати. – gorelative

+0

Я ссылаюсь на вас, чтобы перечислить все прикрепленные файлы в каталоге пользователя, а затем распечатать их все с помощью цикла. – bizzr3

+3

Лучше всего использовать ваш инструмент для обработки PHP-PDF, чтобы объединить PDF-файлы в один документ. Затем пользователю нужно распечатать его только один раз, но вы не можете автоматически отправить его на принтер и обходить диалоговое окно «Печать», даже если бы это было возможно, это будет работа на стороне клиента (Javascript), а не на стороне сервера (PHP). – DaveRandom

ответ

2

Есть несколько способов, вы можете идти об этом либо просто JS или сочетание PHP и JS (и, возможно, на стороне сервера программ, которые могут быть вызваны с помощью PHP):

  1. Have целевой документ быть php-файлом, который программно объединяет все PDF-файлы в один документ (например, с pdftk), а затем выводит объединенный файл с заголовками PDF. Этот файл будет загружен в iframe, который можно было бы назвать window.print() с помощью JavaScript.

  2. Используйте функцию javascript's window.print(), чтобы настроить несколько скрытых фреймов, каждый из которых имеет один из загруженных в него PDF-файлов. Основным недостатком этого подхода является то, что он будет генерировать несколько диалоговых окон печати.

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

+0

. 1) звучит хорошо, я просто надеюсь, что pdftk правильно присоединяется к PDF. 2) имеет один главный недостаток, что, если пользователи имеют 20 файлов? 20 iframe и 20 print dialog: o –

+0

Да, # 1 - это более простой подход для пользователя, это просто немного больше для вас. Я много использовал pdftk, и объединение файлов было очень простым и надежным. Вызывать его с PHP иногда раздражает, но дайте мне знать, если у вас есть проблемы, поскольку я установил это в нескольких средах. –

1

Этого нельзя сделать с помощью PHP. Зачем? Ну, PHP - это серверный скрипт. Он не имеет доступа к принтеру пользователя.

Насколько я знаю, нет никакого решения с javascript. Майк отлично поработал с диалоговом диалоговом окне принтера, доступным с помощью команды javascript, но там он останавливается. Это хорошо, но хотите ли вы, чтобы страница, которую вы вводили, могла использовать ваш принтер без вашего разрешения?

1

Лучший способ, возможно, состоит в том, чтобы объединить все PDF-файлы в одну сторону сервера документов, а затем позволить пользователю загружать и печатать. Это то, что делают manuscriptcentral и, возможно, другие онлайн-академические системы коллегиального обзора.

Смежные вопросы