|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.02.2012, 17:35 | #1 |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Печать нескольких листов в один pdf
Передо мной стоит задача: есть книгу с n количеством листов, нужно распечатать любое количество листов в произвольном порядке в один pdf. В качестве виртуального принтера стоят: doPDF v7, FreePDF.
Пытаюсь решить задачу через вариацию строки "ActiveSheet.PrintOut ActivePrinter:=ПринтерPDF". Но получается так что каждый лист печататься отдельно (в свой файл). Как можно решать задачу? Сразу вопросы по теме: 1. В каком формате печатает Excel, если установить PrintToFile=True? 2. Как программно задать имя и путь файла при печати на виртуальный принтер? 3. Может нужно выбрать иной виртуальный принтер? Какой лучше? 4. Может стоит разделить задачу на две: 1) печатаем каждый лист в отдельный pdf. 2) Объединяем все pdf в один. Возникает вопрос: как можно объединить несколько pdf в один? Отмечу что стоит excel 2003. Как я понял в 2007 и позже можно воспользоваться командой: ExportAsFixedFormat. Можно ли подгрузить её в 2003 через dll?
С уважением, Алексей.
Последний раз редактировалось tae1980; 25.02.2012 в 18:54. |
25.02.2012, 17:51 | #2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
4.
http://www.pdflabs.com/ Merge Two or More PDFs into a New Document pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf or (Using Handles): pdftk A=1.pdf B=2.pdf cat A B output 12.pdf or (Using Wildcards): pdftk *.pdf cat output combined.pdf
webmoney: E265281470651 Z422237915069 R418926282008
|
25.02.2012, 18:18 | #3 |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Экспериментально нашел вариант печати:
Код:
Как можно обойти проблему необходимости размещать листы подряд?
С уважением, Алексей.
|
25.02.2012, 18:23 | #4 | |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Цитата:
С уважением, Алексей.
|
|
25.02.2012, 18:35 | #5 | |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Цитата:
С уважением, Алексей.
|
|
25.02.2012, 18:44 | #6 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Это не в Экселе - но работает из командной строки. Следовательно, можно взять сохранённые файлы (если известно, куда они сохранены) и собрать в один этим же макросом, который отправляет на печать.
webmoney: E265281470651 Z422237915069 R418926282008
|
25.02.2012, 18:52 | #7 | |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Цитата:
Теперь осталось научиться задавать имена pdf при печати. Пока это не удалось сделать, виртуальный принтер упорно запрашивает имя файла у пользователя.
С уважением, Алексей.
|
|
25.02.2012, 18:57 | #8 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Ну там ведь есть возможность
pdftk *.pdf cat output combined.pdf Т.е. просто нужно иметь изначально пустой каталог, куда сохранять. Можно его создать этим же кодом например с именем из даты-времени, туда распечатать, собрать в один файл, мусор (каталог) удалить.
webmoney: E265281470651 Z422237915069 R418926282008
|
25.02.2012, 19:09 | #9 |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
FreePDF установил на комп Ghostscript. Кто нибудь работал с этим?
Может проще напрямую работать, а не через FreePDF?
С уважением, Алексей.
|
25.02.2012, 19:15 | #10 | |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Цитата:
Ни как не удается передать в виртуальный принтер имя файла для вывода, он всегда запрашивает пользователя. Можно конечно заставить себя n количество раз выбрать один и тот же каталог, а потом все слить в один pdf. Но согласись это плохое решение. Решение должно быть простое, но оно ни как не дается. :(
С уважением, Алексей.
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
PDF двухсторонняя печать | VladimirVB | Microsoft Office Word | 3 | 23.11.2010 12:23 |
печать листов excel | ара | Помощь студентам | 10 | 07.04.2010 10:12 |
печать на PDF принтере | Frost.sapr | Мультимедиа в Delphi | 1 | 12.10.2008 23:17 |
печать нескольких листов | checkbox | Microsoft Office Excel | 2 | 16.01.2008 00:50 |