Печать 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, выполнив следующие действия:

  1. Создайте экземпляр класса PdfViewer.
  2. Загрузите входной PDF-документ с помощью методаbindpdf().
  3. После этого вызовите метод printdocument(), чтобы распечатать PDF-файл.
  4. Наконец, закройте программу просмотра 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 в пакетном режиме, выполнив следующие действия:

  1. Загрузите файлы PDF из указанного пути к папке.
  2. Прокрутите все PDF-файлы.
  3. Создайте экземпляр класса PdfViewer.
  4. Свяжите каждый входной PDF-файл один за другим, используя методbindpdf().
  5. После этого вызовите метод printdocument(), чтобы распечатать PDF-файл.
  6. Наконец, закройте программу просмотра 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-документа. Для этого нам нужно указать номера страниц от и до. Мы можем распечатать диапазон страниц, выполнив следующие действия:

  1. Создайте экземпляр класса PdfViewer.
  2. Загрузите входной PDF-документ с помощью методаbindpdf().
  3. При необходимости укажите различные атрибуты средства просмотра, такие как автоматическое изменение размера, автоповорот и т. д.
  4. Создайте экземпляр класса PageSettings.
  5. Инициализируйте объект класса PrinterSettings.
  6. Укажите свойства printrange, frompage и toppage.
  7. После этого вызовите метод view.printdocumentwithsettings(), чтобы распечатать документ, используя настройки принтера и страницы.
  8. Наконец, закройте программу просмотра 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-файл, выполнив следующие действия:

  1. Загрузите защищенный PDF-файл с паролем, используя класс Document.
  2. Создайте экземпляр класса PdfViewer.
  3. Свяжите PDF-документ с помощью методаbindpdf().
  4. После этого вызовите метод printdocument(), чтобы распечатать PDF-файл.
  5. Наконец, закройте программу просмотра 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-документ в оттенках серого, выполнив следующие действия:

  1. Загрузите входной PDF-документ, используя класс Document.
  2. Инициализируйте объект класса RgbToDeviceGrayConversionStrategy.
  3. Просмотрите все страницы и преобразуйте их в GrayScale с помощью метода Strategy.convert().
  4. Создайте экземпляр класса PdfViewer.
  5. Свяжите PDF-документ с помощью методаbindpdf().
  6. После этого вызовите метод printdocument(), чтобы распечатать PDF-файл.
  7. Наконец, закройте программу просмотра 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-документов, а также изучите различные другие функции библиотеки, используя ресурсы ниже:

Заключение

В этой статье мы узнали, как распечатать PDF-файл на Python. Используя Aspose.PDF for Python, вы можете легко отправлять файлы PDF на принтер из кода Python. Эта мощная функция позволяет пользователям создавать отчеты и беспрепятственно управлять документооборотом в различных приложениях. Следуя инструкциям, описанным в этом сообщении блога, вы можете автоматизировать задачу печати PDF-файлов. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на нашем бесплатном форуме поддержки.

Смотрите также