PDFPrinting
If you find that you need to create .pdf documents from an application that does not natively provide .pdf output, and/or are migrating from Windows and have used and liked PDFCreator or a similar application, then you need to install the cups-pdf package. This is assuming, of course, that you are already set up to print (at least 9.04 and 9.10 have all the other required packages already installed with a standard installation.) To do this, simply go to Synaptic (in 9.04/GNOME, that’s System — Administration — Synaptic Package Manager) and mark the package «cups-pdf» for installation, then hit «apply.» Presumably if you do this and you do not have CUPS already installed, Synaptic will identify and prompt you to mark all the required packages.
This will install the package and also create a «printer» on your machine called «PDF.» To create a .pdf of any document, simply format it as you like and then print as you would normally, selecting «PDF» instead of your usual printer. The output will be placed into a folder in your home directory called «PDF» — that is, /home/your_user_name/PDF. Any text in the resulting .pdf file will be selectable and searchable.
I have done the above procedure on two machines; one running Ubuntu 9.10 i386 and one running Ubuntu 9.04 64-bit. After doing the above the «printer» worked correctly with no additional steps on the 9.10 machine, however, on the 9.04 machine I had to create the /home/your_user_name/PDF folder manually for each user on that machine to allow the PDF «printer» to work. Before I did so, when opening the «Printer Properties» window for the PDF «printer» I saw the following:
Printer State: Idle - /usr/libs/cups/backend/cups-pdf failed
So if you can’t find your output and see the above status, make sure that the PDF folder exists in the home directory of the current user.
As installed, the PDF «printer» defaults to a 8.5″x11″ page and 300 DPI, but these settings can be changed. Go to System — Administration — Printing and double-click on «PDF» in the resulting window to access these settings.
PDFPrinting (последним исправлял пользователь ip24-250-124-95 2010-02-22 00:12:39)
The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details
Виртуальный PDF-Printer на CUPS-PDF
Что делать, если необходимо распечатать документ, а принтера нет? В решении этого вопроса частично поможет сохранение документа в формате PDF, который в последствии можно распечатать в том месте, где есть настоящий принтер. Впрочем, возможно и виртуального принтера вам будет достаточно.
На личном опыте, я сталкивался с такими ситуациями, когда информацию отображаемую на дисплее не удаётся сохранить либо без потери вида, либо вообще, можно только распечатать. В такие моменты, данное решение становится «палочкой выручалочкой».
Для реализации виртуального принтера, нужна Linux машина, в нашем случае на Debian или Ubuntu. Сперва проверьте наличие подсистемы печати CUPS — без «капса» никуда. У него кстати есть веб-интерфейс: http://localhost:631/ где можно произвести некоторые настройки.
А теперь, устанавливаем пакет «cups-pdf»:
root@linux:~# apt-get install cups-pdf
Перезагружаем подсистему печати:
root@linux:~# /etc/init.d/cups restart
Проверяем список принтеров и что установлено по умолчанию:
В большинстве случаев, это всё, готово. Теперь можно отправлять на печать любые документы и не только.
user@linux:~$ echo "текст для печати" | lp -d PDF
По необходимости можно указывать параметры:
user@linux:~$ lp -d PDF (имя принтера) -o landscape (ориентация) -o scaling=75 (масштаб) -o media=A4 (размер листа) -n 2 (кол-во) имя_файла
Принты будут появляться в папке PDF находящейся в каталоге пользователя. При желании можно изменить настройки, они здесь: /etc/cups/cups-pdf.conf
Автор: Илья Балдуев
Специалист ИТ, веб программист, фотограф, блоггер. Добрый, но злопамятный. Верный, но не Хатико. Честный, не всегда. Упрямый, но ленивый.
Установка виртуального PDF принтера в Linux
В Linux вы можете использовать пакет cups-pdf для реализации виртуального PDF принтера. Что такое PDF-принтер? Это виртуальное устройство, которое добавляется в систему как обычный принтер и при отправке документа на печать генерирует из него pdf-файл.
Проверьте, что в вашем дистрибутиве Linux установлена подсистема печати CUPS (Common UNIX Printing System):
Проверьте, что на компьютере слушается порт TCP/631 и служба cups запущена:
$ sudo systemctl status cups
Теперь можно установить пакет cups-pdf:
Перезапустите систему печати:
$ sudo service cups restart
Выведите список установленных принтеров и какой принтер назначен по-умолчанию:
CUPS-PDF (Virtual PDF Printer)
Выведите список установленных принтеров и какой принтер назначен по-умолчанию:
CUPS-PDF (Virtual PDF Printer) system default destination: PDF device for PDF: cups-pdf:/
Если принтер отключен, его можно включить:
Можно вручную создать новый PDF принтер в CUPS с помощью команды:
$ sudo lpadmin -p cups-pdf -v cups-pdf:/ -E -P /usr/share/ppd/cups-pdf/CUPS-PDF_opt.ppd
Если в списке появился виртуальный принтер, вы можете отправлять на него любые документы и сохранять результат в PDF файл. По умолчанию файлы в формате name-job_N.pdf сохраняются в каталог пользователя ~/PDF ( Out $/PDF ).
Вы можете изменить путь к каталогу в конфигурационном файле /etc/cups/cups-pdf.conf.
Вы можете управлять настройками и очередью печати на виртуальном PDF принтере через веб интерфейс CUPS.
Перейдите в браузере на http://yourcupshost:631/printers
Выберите очередь PDF для принтера Generic CUPS-PDF Printer (w/ options)
Здесь вы можете изменить настройки печати (page size, output resolution), открыть к нему общий доступ, очистить очередь печати и т.д.
Description: PDF Location: Driver: Generic CUPS-PDF Printer (w/ options) (color) Connection: cups-pdf:/ Defaults: job-sheets=none, none media=iso_a4_210x297mm sides=one-sided
Вы можете отправить на печать в PDF файл из любого приложения или прямо из консоли Linux. Например, чтобы сохранить содержимое conf файла в PDF, просто отправьте его через пайплайн на lpr (для печати будет использоваться принтер по-умолчанию).
$ cat /etc/cups/cups-pdf.conf | lpr
Или вы можете отправить файл на печать так:
Installing Virtual PDF Printer on Linux
On Linux, you can use the cups-pdf package to implement a virtual PDF printer. What is a PDF printer? This is a virtual device that is added to the system as a regular printer and when a document is sent for printing, it generates a PDF file from it.
Verify that the Common UNIX Printing System (CUPS) printing subsystem is installed on your Linux host. Check if the computer is listening on port TCP/631 and that the cups service is up and running:
$ sudo netstat -tupnl $ sudo systemctl status cups
You can now install the cups-pdf package:
Restart the cups print service:
$ sudo service cups restart
List installed printers and show which printer is assigned as the default device:
CUPS-PDF (Virtual PDF Printer)
system default destination: PDF
device for PDF: cups-pdf:/
If the printer is disabled, you can enable it:
You can manually create a new virtual PDF printer in CUPS with the command:
$ sudo lpadmin -p cups-pdf -v cups-pdf:/ -E -P /usr/share/ppd/cups-pdf/CUPS-PDF_opt.ppd
If a virtual printer appears in the list, you can send any documents to it and save the result as a PDF file. By default, files in the name-job_N.pdf format are saved to the user’s ~/PDF directory.
You can change the directory path for the PDF files in the /etc/cups/cups-pdf.conf configuration file ( Out $/PDF ).
You can manage the virtual PDF printer’s settings and print queue through the CUPS web interface.
In your browser, navigate to the http://yourcupshost:631/printers
Select the Generic CUPS-PDF Printer (w/ options)
Here you can change the print settings (page size, output resolution), share the printer, clear the print queue, etc.
Description: PDF
Location:
Driver: Generic CUPS-PDF Printer (w/ options) (color)
Connection: cups-pdf:/
Defaults: job-sheets=none, none media=iso_a4_210x297mm sides=one-sided
You can print to PDF from any application or directly from the Linux console. For example, to save the console output to a PDF file, simply pipe it to lpr (the default printer is used to print).
$ cat /etc/cups/cups-pdf.conf | lpr
Or, you can send the text file to be printed to PDF in the following way:
I’d like to do this on a server that listens on 9100 for raw print jobs and have them go to that printer. Any idea on how to accomplish this? I’ve been googling for hours.
IT Place
Однажды, заказывая билеты на поезд через интернет, я столкнулся с непреодолимой глючностью интерфейса, пытавшегося сохранить электронный билет в файл. Да, можно было бы сразу распечатать, но я, как и многие другие, предпочитаю печатать на работе. Так и тонер/краску покупать не надо, да и чаще всего с бумагой тоже проблем нет. (шучу)
Вобщем, понадобилась такая штука, как виртуальный принтер. И получить ее очень и очень просто:
Проверяем, что принтер есть:
Если у вас активирован Unity, то просто жмем клавишу «super»(win) и пишем Printing |
Если нет виртуального принтера, жмем «Add», далее выбираем «Generic CUPS-PDF» и forward, forward, forward. |
На выходе мы получаем отличный виртуальный принтер. Все распечатанное попадает в «~/PDF».
8 комментариев:
Благодарю! Очень ценная для меня информация.
Написано мало, а как много пользы для окружающих. Ответить Удалить