Печать документа PDF является распространенным требованием при разработке приложений. Независимо от того, создаете ли вы отчеты, счета-фактуры или документы любого другого типа, печать PDF-файла непосредственно из кода на принтере может оказаться ценной функцией. В этом сообщении блога мы узнаем, как распечатать PDF-файл на принтере на Python.
В этой статье рассматриваются следующие темы:
- Библиотека Python для печати PDF на принтере
- Распечатать PDF-файл в Python
- Пакетная печать PDF-файлов
- Печать определенных страниц PDF-файла
- Укажите размер страницы для печати PDF-файла
- Распечатайте защищенный PDF-файл
- Преобразование PDF в оттенки серого и печать на Python
- Лицензирование
- Бесплатные ресурсы
Библиотека Python для печати PDF на принтере
Для программной печати PDF-файла на Python мы будем использовать библиотеку Aspose.PDF for Python через .NET. Благодаря простой установке и использованию он обеспечивает эффективное решение для отправки PDF-файлов на принтер с использованием кода Python. Aspose.PDF for Python позволяет разработчикам создавать, манипулировать и конвертировать PDF-документы в своих приложениях Python.
Чтобы начать печать PDF-документа на Python, нам сначала необходимо установить необходимые библиотеки. Пожалуйста, загрузите пакет или установите API из PyPI, используя следующую команду pip в консоли:
> pip install aspose-pdf
Распечатать PDF-файл в Python
Мы можем легко распечатать PDF-файл программно на Python, выполнив следующие действия:
- Создайте экземпляр класса PdfViewer.
- Загрузите входной PDF-документ с помощью методаbindpdf().
- После этого вызовите метод printdocument(), чтобы распечатать PDF-файл.
- Наконец, закройте программу просмотра PDF, используя метод close().
В следующем примере кода показано, как распечатать PDF-файл в Python.
# В этом примере кода показано, как распечатать PDF-файл в Python.
import aspose.pdf as ap
# Создать объект PDFViewer
viewer = ap.facades.PdfViewer();
# Открыть входной PDF-файл
viewer.bind_pdf("Document.pdf");
# Распечатать PDF-документ
viewer.print_document();
# Закрыть PDF-файл
viewer.close();
Печать нескольких PDF-файлов в Python
Мы также можем распечатать PDF-файлы из папки в Python в пакетном режиме, выполнив следующие действия:
- Загрузите файлы PDF из указанного пути к папке.
- Прокрутите все PDF-файлы.
- Создайте экземпляр класса PdfViewer.
- Свяжите каждый входной PDF-файл один за другим, используя методbindpdf().
- После этого вызовите метод printdocument(), чтобы распечатать PDF-файл.
- Наконец, закройте программу просмотра PDF, используя метод close().
В следующем примере кода показано, как распечатать несколько файлов PDF в Python.
# В этом примере кода показано, как одновременно распечатать несколько файлов PDF в Python.
import os
import aspose.pdf as ap
# Путь к каталогу, содержащему PDF-файлы для печати
path = "D:\\Files\\"
# Получить PDF-файлы
files = [f for f in os.listdir(path) if f.endswith(".pdf")]
# Прочитать все файлы и распечатать
for file in files:
# Создать объект PDFViewer
viewer = ap.facades.PdfViewer();
# Открыть входной PDF-файл
viewer.bind_pdf(path + file);
# Распечатать PDF-документ
viewer.print_document();
# Закрыть PDF-файл
viewer.close();
Печать определенных страниц PDF в Python
В некоторых случаях нам может потребоваться распечатать определенный диапазон страниц из PDF-документа. Для этого нам нужно указать номера страниц от и до. Мы можем распечатать диапазон страниц, выполнив следующие действия:
- Создайте экземпляр класса PdfViewer.
- Загрузите входной PDF-документ с помощью методаbindpdf().
- При необходимости укажите различные атрибуты средства просмотра, такие как автоматическое изменение размера, автоповорот и т. д.
- Создайте экземпляр класса PageSettings.
- Инициализируйте объект класса PrinterSettings.
- Укажите свойства printrange, frompage и toppage.
- После этого вызовите метод view.printdocumentwithsettings(), чтобы распечатать документ, используя настройки принтера и страницы.
- Наконец, закройте программу просмотра PDF, используя метод close().
В следующем примере кода показано, как распечатать определенные страницы PDF-документа в Python.
# В этом примере кода показано, как распечатать диапазон страниц из файла PDF в Python.
import aspose.pdf as ap
# Создать объект PDFViewer
viewer = ap.facades.PdfViewer();
# Открыть входной PDF-файл
viewer.bind_pdf("Document.pdf");
# Установить атрибуты для печати
viewer.auto_resize = True
viewer.auto_rotate = True
viewer.print_page_dialog = False
# Создайте объекты для настроек принтера и страницы и PrintDocument.
pgs = ap.printing.PageSettings();
ps = ap.printing.PrinterSettings();
# Установить имя принтера
ps.printer_name = "Microsoft Print to PDF";
ps.print_range = ap.printing.PrintRange.SOME_PAGES;
ps.from_page = 1;
ps.to_page = 2;
# Распечатайте документ, используя настройки принтера и страницы.
viewer.print_document_with_settings(pgs, ps);
# Закрыть PDF-файл
viewer.close();
Укажите размер страницы для печати PDF-файла
Точно так же мы можем указать размер страницы при печати PDF-файла, выполнив шаги, упомянутые ранее. Однако нам просто нужно указать размер бумаги с помощью класса PaperSize и поля с помощью класса Margins на шаге 6.
В следующем примере кода показано, как распечатать документ PDF с определенным размером страницы и полями с помощью Python.
# В этом примере кода показано, как распечатать диапазон страниц из файла PDF в Python.
import aspose.pdf as ap
# Создать объект PDFViewer
viewer = ap.facades.PdfViewer();
# Открыть входной PDF-файл
viewer.bind_pdf("Document.pdf");
# Установить атрибуты для печати
viewer.auto_resize = True
viewer.auto_rotate = True
viewer.print_page_dialog = False
# Создайте объекты для настроек принтера и страницы и PrintDocument.
pgs = ap.printing.PageSettings();
ps = ap.printing.PrinterSettings();
# Установить имя принтера
ps.printer_name = "Microsoft Print to PDF";
ps.print_range = ap.printing.PrintRange.SOME_PAGES;
ps.from_page = 1;
ps.to_page = 2;
# Установите размер страницы (если требуется)
pgs.paper_size = ap.printing.PaperSize("A4", 827, 1169);
# Установите PageMargins (если требуется)
pgs.margins = ap.devices.Margins(0, 0, 0, 0);
# Распечатайте документ, используя настройки принтера и страницы.
viewer.print_document_with_settings(pgs, ps);
# Закрыть PDF-файл
viewer.close();
Печать защищенного PDF-файла в Python
Мы можем распечатать защищенный или защищенный паролем PDF-файл, выполнив следующие действия:
- Загрузите защищенный PDF-файл с паролем, используя класс Document.
- Создайте экземпляр класса PdfViewer.
- Свяжите PDF-документ с помощью методаbindpdf().
- После этого вызовите метод printdocument(), чтобы распечатать PDF-файл.
- Наконец, закройте программу просмотра PDF, используя метод close().
В следующем примере кода показано, как распечатать защищенный PDF-файл в Python.
# Загрузите защищенный PDF-документ, указав пароль пользователя или владельца.
document = ap.Document("Password.pdf" , "userORowner");
# Создать объект PDFViewer
viewer = ap.facades.PdfViewer();
# Открыть входной PDF-файл
viewer.bind_pdf(document);
# Распечатать PDF-документ
viewer.print_document();
# Закрыть PDF-файл
viewer.close();
Преобразование PDF в оттенки серого и печать на Python
Мы можем распечатать PDF-документ в оттенках серого, выполнив следующие действия:
- Загрузите входной PDF-документ, используя класс Document.
- Инициализируйте объект класса RgbToDeviceGrayConversionStrategy.
- Просмотрите все страницы и преобразуйте их в GrayScale с помощью метода Strategy.convert().
- Создайте экземпляр класса PdfViewer.
- Свяжите PDF-документ с помощью методаbindpdf().
- После этого вызовите метод printdocument(), чтобы распечатать PDF-файл.
- Наконец, закройте программу просмотра PDF, используя метод close().
В следующем примере кода показано, как преобразовать PDF-файл в оттенки серого, а затем распечатать его с помощью Python.
# В этом примере кода показано, как распечатать PDF-файл в оттенках серого в Python.
import aspose.pdf as ap
# Загрузите входной PDF-документ
document = ap.Document("D:\\Files\\Output.pdf");
# Инициировать стратегию преобразования RGB в Device Gry
strategy = ap.RgbToDeviceGrayConversionStrategy();
# Пролистнуть все страницы
for page in document.pages:
# Преобразование изображения цветового пространства RGB в цветовое пространство GrayScale.
strategy.convert(page);
# Создать объект PDFViewer
viewer = ap.facades.PdfViewer();
# Открыть входной PDF-файл
viewer.bind_pdf(document);
# Распечатать PDF-документ
viewer.print_document();
# Закрыть PDF-файл
viewer.close();
Получите бесплатную лицензию
Вы можете получить временную лицензию, чтобы использовать библиотеку без ограничений ознакомительной версии.
Распечатать PDF — бесплатные ресурсы
Помимо печати PDF-файлов на принтере в Python, узнайте больше о создании, манипулировании и преобразовании PDF-документов, а также изучите различные другие функции библиотеки, используя ресурсы ниже:
- Руководство разработчика
- Бесплатные онлайн-приложения
- Справочник по API
- Практические руководства и статьи
Заключение
В этой статье мы узнали, как распечатать PDF-файл на Python. Используя Aspose.PDF for Python, вы можете легко отправлять файлы PDF на принтер из кода Python. Эта мощная функция позволяет пользователям создавать отчеты и беспрепятственно управлять документооборотом в различных приложениях. Следуя инструкциям, описанным в этом сообщении блога, вы можете автоматизировать задачу печати PDF-файлов. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на нашем бесплатном форуме поддержки.