mirror of
				https://github.com/JakubMelka/PDF4QT.git
				synced 2025-06-05 21:59:17 +02:00 
			
		
		
		
	Bugfixing
This commit is contained in:
		@@ -492,7 +492,7 @@ int PDFRasterizerPool::getDefaultRasterizerCount()
 | 
			
		||||
 | 
			
		||||
int PDFRasterizerPool::getCorrectedRasterizerCount(int rasterizerCount)
 | 
			
		||||
{
 | 
			
		||||
    return qBound(1, rasterizerCount, 16);
 | 
			
		||||
    return qBound(1, rasterizerCount, 256);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
PDFImageWriterSettings::PDFImageWriterSettings()
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
 
 | 
			
		||||
@@ -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();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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();
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user