我的代码通过将QGraphicsScene内容渲染到正确初始化的QPrinter上来生成pdf。 在处理应用程序时,可以编辑这些文本,复制到剪贴板等。如何从QGraphicsScene生成pdf,我的文本字符串也可以复制,或者不可能,我需要为这些任务创建QTextDocument?

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();

===============>>#1 票数:3

您似乎必须使用QTextDocument并将内容编写为HTML。 请参阅我的回答和我对问题的评论: Qt4:将SQL表打印到PDF

编辑:我做了一个调试会话(在Windows7中使用Visual Studio)并进入了scene-> render。 在某些步骤中调用文件qgraphicsitem.cpp(Qt 4.8.0中的第10067行)中的QGraphicsTextItem :: paint(...),在那里可以看到文本项存储在QTextDocument中。

我的结论(来自引用的问题):文本作为文本打印到pdf文档,这意味着您无法选择或复制文本只是您的pdf查看器的人工制品。 如果您的平台可以使用包含pdftotext的xpdf,则可以轻松验证。

  ask by Nikita Kozlov translate from so

未解决问题?本站智能推荐:

1回复

仅当未设置输出文件名时,PDF打印机才会生成PDF

以下代码段将PostScript内容(保存在pBuf缓冲区中)发送到CutePDF打印机: 在执行此代码期间,会出现一个对话框,在该对话框中,我指定输出文件的名称(例如D:/out.pdf ),然后生成pdf文件。 到现在为止还挺好。 当我尝试通过更改代码片段的第4行来避免文件名指定
1回复

使用正确的大小将Excel文件保存为PDF

我正在尝试将Excel文件另存为PDF以便打印。 我已经设置了以cm为单位的列宽和行高,因为我想以特定的尺寸进行打印(这是一个名称标签文件,必须自己适应标签)。 但是,当我转换为PDF时,它们以错误的尺寸输出,略小于我在excel中设置的尺寸(8.5厘米输出为7厘米)。 如果我也直接从Ex
1回复

如何使用iTextSharp生成要在点矩阵打印机中打印的PDF?

我一直在使用iTextSharp生成PDF文档以打印A4尺寸的预打印纸。 我们公司决定使用点矩阵打印机来打印文档。 因此,我不得不对代码进行相应的修改。 从PDF打印时字体不清晰。 对齐方式不正确。 我无法将第一行移到现有边距之上。 请提供一个好的解决方案。
1回复

如何从TabControl打印所有元素或生成PDF?

我有一个Silverlight应用程序,其中包含一些标签,我想打印这些标签或生成包含这些标签的PDF。 我尝试使用StackPanel添加每个选项卡,然后使用PrintDocument打印我看到的内容,但是存在一个问题,因为选项卡太多,因此它们不适合A4文档的大小。 而且,当我将浏览器调
1回复

可以指示Mathematica打印到较小的pdf文件吗?

Mathematica 9.0.1.0,Linux。 创建一个仅带单词“ Section”的笔记本单元,并对其应用格式“ Section”。 然后创建一个变量x并对其求值。 然后将两格笔记本电脑打印为pdf文件。 (我们经常必须通过电子邮件将这些来回传递给移动用户。)生成的pdf文件
2回复

寻找从在线设计师生成PDF的API(或解决方案)? [关闭]

在构建Web2Print产品的过程中,我需要一种允许用户操作图形并最终生成PDF的编辑器。 有很多HTML 2 PDF API可用,但我希望有人可能有一些更集成的东西的经验,适合处理图形/字体/文本?
1回复

如何呈现Rails模板/视图以生成PDF,然后直接从服务器通过CUPS打印?

我正在寻找一种使用定义的模板(或视图+部分,例如.html.erb或类似文件)使Rails动作自动呈现到打印机的方法,以便用户/客户端可以在不本地设置打印机的情况下进行打印。 该服务器正在运行Linux,并且能够现场打印到用户选择的打印机。 如果需要的话,它首先生成临时PDF也可以。 因此
1回复

PDFCreator将多个pdf文件合并为一个

我正在使用PDFCreator将多个文件合并为一个PDF文件。 代码如下: 如果我打印.txt,.doc,此代码将完美地工作,但是当涉及到PDF时,它将在每次打印时停止,直到我们关闭pdf阅读器应用程序(例如adobe pdf阅读器,foxit阅读器)(卡在pdfJob.cPrintf
1回复

如何在Windows窗体中将Panel控件渲染为Pdf和Excel文件

此面板控件包含发票单: 我想用Pdf和Excel文件制作此面板,而不要像普通pdf文件一样使用图像格式。 此代码在Windows c#中编写。 但它使屏幕截图并创建pdf文件。
1回复

使用Java EE技术时如何打印PDF数据?

我有一个Person类,其name , national_Id , age , photo和job作为成员变量,我想用每个人的个人数据打印某种代金券或FICHE。 我不想使用JavaScript打印窗口功能,我想将其打印为PDF。 我正在使用JEE:Struts + Hibernate。