Ich stoße auf ein Problem, bei dem ich PDFs lade, sie in QImage rendere und sie dann als BMP speichere . Während dies bei einigen PDFs gut funktioniert, werden andere mit einem transparenten Hintergrund gerendert.
Das bedeutet, dass der Text aus der PDF sichtbar ist, aber anstelle eines einfarbigen Hintergrunds ist er transparent.
Hier ist der Code, den ich verwende:
Code: Select all
QString pdfPath = QFileDialog::getOpenFileName(this, "Open PDF", "", "PDF Files (*.pdf)");
if(!pdfPath.isEmpty()) {
return;
}
QPdfDocument pdfDoc;
QPdfDocumentRenderOptions options;
options.setRenderFlags(QPdfDocumentRenderOptions::RenderFlag::Annotations | QPdfDocumentRenderOptions::RenderFlag::TextAliased | QPdfDocumentRenderOptions::RenderFlag::OptimizedForLcd);
if (pdfDoc.load(pdfPath) == QPdfDocument::Error::None) {
qreal targetDPI = 300.0;
QSizeF pageSize = pdfDoc.pagePointSize(0);
qDebug()