Пишу на C++ и qt. Вывод текста на печать делаю следующим образом:
QPrinter Printer(QPrinter::PrinterResolution);
PrintDialog = new QPrintDialog(&Printer);
Printer.setPageSize(QPrinter::A4);
Printer.setOrientation(QPrinter::Portrait);
Printer.setPageMargins(20, 20, 20, 20, QPrinter::Millimeter);
Printer.setFullPage(false);
Printer.setOutputFormat(QPrinter::NativeFormat);
QTextDocument Doc;
QFont DocFont("PT Serif");
DocFont.setPixelSize(10);
Doc.setDefaultFont(DocFont);
QString HtmlForPrint = "<b>Test</b>";
Doc.setPageSize(Printer.pageRect().size());
Doc.setDocumentMargin(0);
Doc.setDefaultFont(DocFont);
Doc.setHtml(HtmlForPrint);
if (PrintDialog->exec()) {
Doc.print(&Printer);
}
delete PrintDialog;
QPrintDialog: Cannot be used on non-native printers