У меня есть файлы в формате 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 для печати содержимого этого виджета. Я раньше использовал невидимые виджеты для печати, поэтому я знаю, что это выполнимо. Но я бы удостоверился, что исчерпал другие варианты, прежде чем мои руки грязные, создавая новый инструмент.