#include #include #include #include #include #include #include int main(int argc, char* argv[]) { QApplication app(argc, argv); if (argc != 3) { std::fprintf(stderr, "Usage: %s \n", argv[0]); return 1; } const QString inputPath = QString::fromLocal8Bit(argv[1]); const QString outputPath = QString::fromLocal8Bit(argv[2]); QFile input(inputPath); if (!input.open(QIODevice::ReadOnly | QIODevice::Text)) { std::fprintf(stderr, "Could not open %s\n", qPrintable(inputPath)); return 1; } QTextStream stream(&input); const QString markdown = stream.readAll(); QTextDocument document; document.setMarkdown(markdown); QPrinter printer(QPrinter::HighResolution); printer.setOutputFormat(QPrinter::PdfFormat); printer.setPageSize(QPageSize(QPageSize::Letter)); printer.setPageMargins(QMarginsF(50, 50, 50, 50), QPageLayout::Point); printer.setOutputFileName(outputPath); document.print(&printer); std::printf("Wrote %s\n", qPrintable(outputPath)); return 0; }