TEX -> PDF -> QImage
| 224 | |
| 225 | // TEX -> PDF -> QImage |
| 226 | QByteArray TeXRenderer::imageFromPDF(const QTemporaryFile& file, const QString& engine, Result* res) { |
| 227 | // DEBUG(Q_FUNC_INFO << ", tmp file = " << STDSTRING(file.fileName()) << ", engine = " << STDSTRING(engine)) |
| 228 | QFileInfo fi(file.fileName()); |
| 229 | const QString& baseName = fi.completeBaseName(); |
| 230 | |
| 231 | if (!executeLatexProcess(engine, baseName, file, QStringLiteral("pdf"), res)) |
| 232 | return {}; |
| 233 | |
| 234 | // Can we move this into executeLatexProcess? |
| 235 | QFile::remove(baseName + QStringLiteral(".aux")); |
| 236 | QFile::remove(baseName + QStringLiteral(".log")); |
| 237 | |
| 238 | // read PDF file |
| 239 | QFile pdfFile(baseName + QStringLiteral(".pdf")); |
| 240 | if (!pdfFile.open(QIODevice::ReadOnly)) { |
| 241 | QFile::remove(baseName + QStringLiteral(".pdf")); |
| 242 | return {}; |
| 243 | } |
| 244 | |
| 245 | auto ba = pdfFile.readAll(); |
| 246 | pdfFile.close(); |
| 247 | QFile::remove(baseName + QStringLiteral(".pdf")); |
| 248 | res->successful = true; |
| 249 | res->errorMessage = QString(); |
| 250 | |
| 251 | return ba; |
| 252 | } |
| 253 | |
| 254 | // TEX -> DVI -> PS -> PNG |
| 255 | QByteArray TeXRenderer::imageFromDVI(const QTemporaryFile& file, const int dpi, Result* res) { |