Break out ConvertWorker::adjustPageRange
This commit is contained in:
parent
5125c48654
commit
22b6ec1c63
2 changed files with 44 additions and 66 deletions
|
@ -111,41 +111,8 @@ try {
|
|||
pdftoPs(PaperSize, TwoSided, PageRangeLow, PageRangeHigh, filename, tempfile);
|
||||
}
|
||||
else if(pdf)
|
||||
{ // adjusting page range
|
||||
QProcess* pdftocairo = new QProcess(this);
|
||||
pdftocairo->setProgram("pdftocairo");
|
||||
QStringList PdfToCairoArgs = {"-pdf"};
|
||||
|
||||
QString ShortPaperSize = getPopplerShortPaperSize(PaperSize);
|
||||
|
||||
PdfToCairoArgs << QStringList {"-f", QString::number(PageRangeLow), "-l", QString::number(PageRangeHigh)};
|
||||
|
||||
PdfToCairoArgs << QStringList {"-paper", ShortPaperSize, filename, "-"};
|
||||
|
||||
qDebug() << "pdftocairo args is " << PdfToCairoArgs;
|
||||
pdftocairo->setArguments(PdfToCairoArgs);
|
||||
|
||||
pdftocairo->setStandardOutputFile(tempfile->fileName(), QIODevice::Append);
|
||||
connect(pdftocairo, SIGNAL(finished(int, QProcess::ExitStatus)), pdftocairo, SLOT(deleteLater()));
|
||||
|
||||
pdftocairo->start();
|
||||
|
||||
qDebug() << "Starting";
|
||||
|
||||
if(!pdftocairo->waitForStarted())
|
||||
{
|
||||
qDebug() << "pdftocairo died";
|
||||
throw ConvertFailedException();
|
||||
}
|
||||
|
||||
qDebug() << "Started";
|
||||
|
||||
if(!pdftocairo->waitForFinished(-1))
|
||||
{
|
||||
qDebug() << "pdftocairo failed";
|
||||
throw ConvertFailedException();
|
||||
}
|
||||
|
||||
{
|
||||
adjustPageRange(PaperSize, PageRangeLow, PageRangeHigh, filename, tempfile);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -378,37 +345,7 @@ try {
|
|||
{
|
||||
qDebug() << "adjusting pages in PDF" << PageRangeLow << PageRangeHigh;
|
||||
|
||||
QProcess* PdftoCairo = new QProcess(this);
|
||||
PdftoCairo->setProgram("pdftocairo");
|
||||
QStringList PdfToCairoArgs = {"-pdf"};
|
||||
|
||||
PdfToCairoArgs << QStringList {"-f", QString::number(PageRangeLow), "-l", QString::number(PageRangeHigh)};
|
||||
|
||||
PdfToCairoArgs << QStringList {tmpPdfFile.fileName(), "-"};
|
||||
|
||||
qDebug() << "pdftocairo args is " << PdfToCairoArgs;
|
||||
PdftoCairo->setArguments(PdfToCairoArgs);
|
||||
|
||||
PdftoCairo->setStandardOutputFile(tempfile->fileName(), QIODevice::Append);
|
||||
connect(PdftoCairo, SIGNAL(finished(int, QProcess::ExitStatus)), PdftoCairo, SLOT(deleteLater()));
|
||||
|
||||
PdftoCairo->start();
|
||||
|
||||
qDebug() << "PdftoCairo Starting";
|
||||
|
||||
if(!PdftoCairo->waitForStarted())
|
||||
{
|
||||
qDebug() << "pdftocairo died";
|
||||
throw ConvertFailedException();
|
||||
}
|
||||
|
||||
qDebug() << "PdftoCairo Started";
|
||||
|
||||
if(!PdftoCairo->waitForFinished(-1))
|
||||
{
|
||||
qDebug() << "pdftocairo failed";
|
||||
throw ConvertFailedException();
|
||||
}
|
||||
adjustPageRange(PaperSize, PageRangeLow, PageRangeHigh, tmpPdfFile.fileName(), tempfile);
|
||||
|
||||
}
|
||||
else
|
||||
|
@ -473,6 +410,44 @@ QString ConvertWorker::getPopplerShortPaperSize(QString PaperSize)
|
|||
return ShortPaperSize;
|
||||
}
|
||||
|
||||
void ConvertWorker::adjustPageRange(QString PaperSize, quint32 PageRangeLow, quint32 PageRangeHigh,
|
||||
QString pdfFileName, QTemporaryFile* tempfile)
|
||||
{
|
||||
QProcess* pdftocairo = new QProcess(this);
|
||||
pdftocairo->setProgram("pdftocairo");
|
||||
QStringList PdfToCairoArgs = {"-pdf"};
|
||||
|
||||
QString ShortPaperSize = getPopplerShortPaperSize(PaperSize);
|
||||
|
||||
PdfToCairoArgs << QStringList {"-f", QString::number(PageRangeLow), "-l", QString::number(PageRangeHigh)};
|
||||
|
||||
PdfToCairoArgs << QStringList {"-paper", ShortPaperSize, pdfFileName, "-"};
|
||||
|
||||
qDebug() << "pdftocairo args is " << PdfToCairoArgs;
|
||||
pdftocairo->setArguments(PdfToCairoArgs);
|
||||
|
||||
pdftocairo->setStandardOutputFile(tempfile->fileName(), QIODevice::Append);
|
||||
connect(pdftocairo, SIGNAL(finished(int, QProcess::ExitStatus)), pdftocairo, SLOT(deleteLater()));
|
||||
|
||||
pdftocairo->start();
|
||||
|
||||
qDebug() << "Starting";
|
||||
|
||||
if(!pdftocairo->waitForStarted())
|
||||
{
|
||||
qDebug() << "pdftocairo died";
|
||||
throw ConvertFailedException();
|
||||
}
|
||||
|
||||
qDebug() << "Started";
|
||||
|
||||
if(!pdftocairo->waitForFinished(-1))
|
||||
{
|
||||
qDebug() << "pdftocairo failed";
|
||||
throw ConvertFailedException();
|
||||
}
|
||||
}
|
||||
|
||||
void ConvertWorker::pdftoPs(QString PaperSize, bool TwoSided, quint32 PageRangeLow, quint32 PageRangeHigh,
|
||||
QString pdfFileName, QTemporaryFile* tempfile)
|
||||
{
|
||||
|
|
|
@ -45,6 +45,9 @@ private:
|
|||
|
||||
QString getPopplerShortPaperSize(QString PaperSize);
|
||||
|
||||
void adjustPageRange(QString PaperSize, quint32 PageRangeLow, quint32 PageRangeHigh,
|
||||
QString pdfFileName, QTemporaryFile* tempfile);
|
||||
|
||||
void pdftoPs(QString PaperSize, bool TwoSided, quint32 PageRangeLow, quint32 PageRangeHigh,
|
||||
QString pdfFileName, QTemporaryFile* tempfile);
|
||||
|
||||
|
|
Loading…
Reference in a new issue