Mój kod produkuje pdf, wyświetlając zawartość QGraphicsScene na poprawnie zainicjowanym QPrinter. Podczas pracy z aplikacją taki tekst można edytować, kopiować do schowka itp. Jak mogę wyprodukować pdf z QGraphicsScene, gdzie mój tekst może być również skopiowany, czy jest to niemożliwe i potrzebuję stworzyć QTextDocument dla takich zadań?Jak produkować pliki pdf z QGraphicsScene z kopiowalnym tekstem?
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();
Specyfikacja [Qt spec] (http://doc.nokia.com/latest/qprinter.html#OutputFormat-enum) opisuje tekst "możliwy do wyszukania" jako wynik. Oznacza to, że przechowywane są podstawowe znaki. O ile mi wiadomo, to czy tekst może zostać wybrany, jest bardziej funkcją czytnika PDF * niż pisarza. – spraff
Wypróbowałem kilka czytników, w tym Mac OS X Preview, Adobe Acrobat X. W trybie podglądu można wybrać tekst tekstowy, ale schowek pobiera tylko symbol spacji podczas kopiowania. W łańcuchu tekstowym Acrobat w ogóle nie można wybrać. –
Twój kod generuje zaznaczony tekst w pliku PDF. Po prostu to wypróbowałem! Więc nie rozumiem twojego pytania ... – CapelliC