cmd.exe打开PDF并打印它
cmd.exe to open pdf and print it
我正在使用qt4.8,我想要的是打开PDF并通过cmd.exe自动打印该PDF,而无需单击PDF阅读器中的PRINT按钮:
我有两个不同的代码,这些代码执行了两个不同的任务:Opne PDF
QString scmd= "cmd.exe";
list.push_back("/C");
list.push_back("test.pdf");
Process.start(scmd, list);
Sleep(2000);
打印pdf而不打开它
QString scmd2 = "C:/Program Files (x86)/Adobe/Reader 11.0/Reader/AcroRd32.exe.exe"
list2.push_back("/t");
list2.push_back("test.pdf");
Process.start(scmd2, list2);
Sleep(2000);
所以我想合并这个命令,我不知道该怎么做?请给我建议
您可以从Windows注册表的HKEY_CLASSES_ROOT获取所有信息。
这是一个示例,如何获取打印软件的默认路径以及如何运行它。我在QT 5.7
上测试了它#include <QSettings>
#include <QProcess>
#include <QDebug>
int main(int argc, char *argv[])
{
const QString classesRoot = "HKEY_CLASSES_ROOT";
// get ID of .pdf extension
QSettings pdfSettings(classesRoot + "\.pdf", QSettings::NativeFormat);
QString pdfId = pdfSettings.value("Default").toString();
// get path to default program that associated with PDF files
QString printPath = QSettings(classesRoot + "\" + pdfId + "\shell\print\command", QSettings::NativeFormat).value("Default").toString();
QString openPath = QSettings(classesRoot + "\" + pdfId + "\shell\open\command", QSettings::NativeFormat).value("Default").toString();
qDebug() << "print path" << printPath;
qDebug() << "open path" << openPath;
// open .pdf file
QProcess::startDetached(openPath.arg("full path to pdf file.pdf") );
// print .pdf file
QProcess printProcess;
printProcess.start(printPath.arg("full path to pdf file.pdf") );
printProcess.waitForFinished(-1);
return 0;
}
相关文章:
- 如何循环打印顶点结构
- 为什么在popback()操作之后,它仍然打印完整的矢量
- 如何在c++中打印目录
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 在线编译器中的分段C++没有打印消息
- 如何使用打印到 PDF 打印机在 MFC 和 CView 中以编程方式打印而不提示输入文件名?
- 将 QTableWidget 内容打印为 PDF
- 从QT打印PDF文件
- 如何使用QPainter将多个Qwidgets在不同页面中打印到PDF
- 如何判断Microsoft打印到 PDF 打印机驱动程序何时完成
- 使用 QT 打印为 pdf
- 使用 Qt 打印 PDF 文件
- cmd.exe打开PDF并打印它
- 使用libharu在pdf中打印日语字符
- 在 Mac 上检测 PDF 打印
- Libharu pdf创建:如何知道打印文本的大小
- 使用MFC打印PDF文件
- 如何在Qt中打印pdf文件
- 使用 C++ 在打印机上可视化打印 PDF 文件
- 使用Boost.regex从目录中打印.pdf文件名