У меня есть PDF-файлы, и я хочу напечатать их на бумаге (я говорю это, потому что «печать» обычно относится к передаче содержимого, сгенерированного в PDF-файл).
В Linux я использую системные вызовы CUPS, передавая имя файла в качестве аргумента, но в Windows это невозможно. Я начал читать о печати на Windows с C ++, но я должен использовать проприетарные библиотеки, и я не хочу использовать это сейчас (только последний ресурс).
Я читаю о QPrinter
и другие классы, но как я могу использовать этот класс или другой, связанный с печатью PDF-файлов? Есть ли еще что-то, что печатает PDF-файлы?
Если ваша цель состоит в том, чтобы печатать в командной строке так же, как в Linux, вы можете установить cygwin с lpr и ghostscript, и это, вероятно, позволит вам печатать PDF-файлы. В Windows также есть встроенный lpr, который вы можете установить. Это не кубки, но должно позволять печать из командной строки.
Если вы хотите сделать все на C ++ (что потребует перекомпиляции для каждой системы), то вы можете использовать Qt с poppler. Вы можете создать приложение Qt, которое просто запускается из командной строки, использует poppler для загрузки указанного pdf-файла в QWidget, а затем сделать QPrinter для печати содержимого этого виджета. Я использовал невидимые виджеты раньше для печати, поэтому я знаю, что это выполнимо. Но я бы позаботился о том, чтобы я исчерпал другие варианты, прежде чем испачкать руки, создавая новый инструмент.