diff --git a/PdfForQtLib/sources/pdfrenderer.cpp b/PdfForQtLib/sources/pdfrenderer.cpp index add3eec..bc9946d 100644 --- a/PdfForQtLib/sources/pdfrenderer.cpp +++ b/PdfForQtLib/sources/pdfrenderer.cpp @@ -492,7 +492,7 @@ int PDFRasterizerPool::getDefaultRasterizerCount() int PDFRasterizerPool::getCorrectedRasterizerCount(int rasterizerCount) { - return qBound(1, rasterizerCount, 16); + return qBound(1, rasterizerCount, 256); } PDFImageWriterSettings::PDFImageWriterSettings() diff --git a/PdfTool/pdftoolabstractapplication.cpp b/PdfTool/pdftoolabstractapplication.cpp index 555040f..391398c 100644 --- a/PdfTool/pdftoolabstractapplication.cpp +++ b/PdfTool/pdftoolabstractapplication.cpp @@ -288,6 +288,7 @@ void PDFToolAbstractApplication::initializeCommandLineParser(QCommandLineParser* } parser->addOption(QCommandLineOption("render-hw-accel", "Use hardware acceleration (using GPU).", "bool", "1")); + parser->addOption(QCommandLineOption("render-show-page-stat", "Show page rendering statistics.")); parser->addOption(QCommandLineOption("render-msaa-samples", "MSAA sample count for GPU rendering.", "samples", "4")); parser->addOption(QCommandLineOption("render-rasterizers", "Number of rasterizer contexts.", "rasterizers", QString::number(pdf::PDFRasterizerPool::getDefaultRasterizerCount()))); } @@ -616,7 +617,7 @@ PDFToolOptions PDFToolAbstractApplication::getOptions(QCommandLineParser* parser PDFConsole::writeError(PDFToolTranslationContext::tr("Dpi must be in range from %1 to %2. Defaulting to %3.").arg(pdf::PDFPageImageExportSettings::getMinDPIResolution()).arg(pdf::PDFPageImageExportSettings::getMaxDPIResolution()).arg(boundedDpi), options.outputCodec); } - options.imageExportSettings.setDpiResolution(dpi); + options.imageExportSettings.setDpiResolution(boundedDpi); } else { @@ -642,7 +643,7 @@ PDFToolOptions PDFToolAbstractApplication::getOptions(QCommandLineParser* parser PDFConsole::writeError(PDFToolTranslationContext::tr("Pixel value must be in range from %1 to %2. Defaulting to %3.").arg(pdf::PDFPageImageExportSettings::getMinPixelResolution()).arg(pdf::PDFPageImageExportSettings::getMaxPixelResolution()).arg(boundedPixel), options.outputCodec); } - options.imageExportSettings.setPixelResolution(pixel); + options.imageExportSettings.setPixelResolution(boundedPixel); } else { @@ -794,6 +795,8 @@ PDFToolOptions PDFToolAbstractApplication::getOptions(QCommandLineParser* parser PDFConsole::writeError(PDFToolTranslationContext::tr("Invalid raterizer count: %1. Correcting to use %2 rasterizers.").arg(options.renderRasterizerCount).arg(correctedRasterizerCount), options.outputCodec); options.renderRasterizerCount = correctedRasterizerCount; } + + options.renderShowPageStatistics = parser->isSet("render-show-page-stat"); } return options; diff --git a/PdfTool/pdftoolabstractapplication.h b/PdfTool/pdftoolabstractapplication.h index 815b1e9..fec086e 100644 --- a/PdfTool/pdftoolabstractapplication.h +++ b/PdfTool/pdftoolabstractapplication.h @@ -125,6 +125,7 @@ struct PDFToolOptions // For option 'RenderFlags' pdf::PDFRenderer::Features renderFeatures = pdf::PDFRenderer::getDefaultFeatures(); bool renderUseHardwareRendering = true; + bool renderShowPageStatistics = false; int renderMSAAsamples = 4; int renderRasterizerCount = pdf::PDFRasterizerPool::getDefaultRasterizerCount(); diff --git a/PdfTool/pdftoolrender.cpp b/PdfTool/pdftoolrender.cpp index e6b4b2c..2d6833b 100644 --- a/PdfTool/pdftoolrender.cpp +++ b/PdfTool/pdftoolrender.cpp @@ -60,6 +60,10 @@ void PDFToolRender::finish(const PDFToolOptions& options) formatter.endl(); writeStatistics(formatter); + if (options.renderShowPageStatistics) + { + writePageStatistics(formatter); + } writeErrors(formatter); formatter.endDocument(); @@ -123,7 +127,10 @@ void PDFToolBenchmark::finish(const PDFToolOptions& options) formatter.endl(); writeStatistics(formatter); - writePageStatistics(formatter); + if (options.renderShowPageStatistics) + { + writePageStatistics(formatter); + } writeErrors(formatter); formatter.endDocument(); @@ -351,7 +358,7 @@ void PDFToolRenderBase::writePageStatistics(PDFOutputFormatter& formatter) formatter.writeTableColumn("compile-time", locale.toString(info.pageCompileTime), Qt::AlignRight); formatter.writeTableColumn("render-time", locale.toString(info.pageRenderTime), Qt::AlignRight); formatter.writeTableColumn("wait-time", locale.toString(info.pageWaitTime), Qt::AlignRight); - formatter.writeTableColumn("write-time", locale.toString(info.pageWaitTime), Qt::AlignRight); + formatter.writeTableColumn("write-time", locale.toString(info.pageWriteTime), Qt::AlignRight); formatter.writeTableColumn("total-time", locale.toString(info.pageTotalTime), Qt::AlignRight); formatter.endTableRow(); }