Mã của tôi tạo pdf bằng cách hiển thị nội dung QGraphicsScene trên QPrinter được khởi tạo đúng cách. Trong khi giao dịch với ứng dụng, văn bản có thể được chỉnh sửa, sao chép vào clipboard, vv .. Làm thế nào tôi có thể tạo pdf từ QGraphicsScene, nơi chuỗi văn bản của tôi cũng có thể được sao chép, hoặc không thể và tôi cần tạo QTextDocument cho các tác vụ như vậy?Cách tạo tệp pdf từ QGraphicsScene bằng văn bản có thể sao chép được?
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();
[Thông số Qt] (http://doc.qt.nokia.com/latest/qprinter.html#OutputFormat-enum) mô tả văn bản "có thể tìm kiếm" làm đầu ra của nó. Điều này ngụ ý rằng các ký tự cơ sở đang được lưu trữ. Theo như tôi biết, liệu văn bản có thể được chọn là nhiều chức năng của trình đọc PDF * hơn so với người viết hay không. – spraff
Đã thử một số độc giả bao gồm Mac OS X Preview, Adobe Acrobat X. Trong chuỗi văn bản xem trước có thể chọn nhưng clipboard chỉ có ký hiệu khoảng trắng trong khi sao chép. Trong chuỗi văn bản Acrobat không thể chọn được. –
mã của bạn tạo văn bản có thể chọn trong tệp PDF. Tôi vừa thử nó! Vì vậy, tôi không hiểu câu hỏi của bạn ... – CapelliC