我的代码通过QGraphicsScene内容呈现到正确的初始化QPrinter来生成PDF文件。 虽然处理应用程序,例如文本可以编辑,复制到剪贴板等我怎样才能生成PDF从QGraphicsScene,在我的文本字符串也可以复制,或者它是不可能的,我需要建立另外,QTextDocument这样的任务?如何从QGraphicsScene生成可复制文本的PDF文件?
QGraphicsTextItem* textItem = new QGraphicsTextItem (text);
textItem->setPlainText (text);
textItem->setTextInteractionFlags (Qt::TextEditorInteraction);
textItem->setFlags(QGraphicsItem::ItemIsSelectable | textItem->flags());
scene->addItem(textItem);
QPrinter pdfPrinter;
pdfPrinter.setOutputFormat(QPrinter::PdfFormat);
pdfPrinter.setPaperSize(QSize(scene->width(), scene->height()), QPrinter::Point);
pdfPrinter.setFullPage(true);
pdfPrinter.setOutputFileName(path);
QPainter pdfPainter;
pdfPainter.begin(&pdfPrinter);
scene->render(&pdfPainter);
pdfPainter.end();
的[Qt的规格](http://doc.qt.nokia.com/latest/qprinter.html#OutputFormat-enum)描述 “可搜索的” 文本作为其输出。这意味着基本字符正在被存储。据我所知,是否可以选择文本更多是PDF *阅读器*的功能,而不是作者。 – spraff
试了读者包括Mac OS X预览,使用Adobe Acrobat X中预览文本字符串是可选的,但剪贴板只能得到象征空间复制时。在Acrobat中,文本字符串根本不可选。 –
您的代码会生成PDF文件中的可选文本。我只是试过了!所以我不明白你的问题... – CapelliC