示例#1
0
int 
processPdfFile(
    soPdfFile* inFile,
    soPdfFile* outFile
    )
{
    int retCode = 0;

    assert(inFile != NULL);
    assert(outFile != NULL);

    // Open the input file
    retCode = openPdfFile(inFile);
    if (retCode != 0)
        goto Cleanup;

    // Create an output file
    retCode = newPdfFile(outFile);
    if (retCode != 0)
        goto Cleanup;
    
    // Copy from source to destination
    retCode = copyPdfFile(inFile, outFile);
    if (retCode != 0)
        goto Cleanup;

Cleanup:

    closePdfFile(inFile);
    closePdfFile(outFile);

    return retCode;
}
示例#2
0
void PaintWidget::openPdfFile(const QString &filename)
{
    Poppler::Document *newdoc = Poppler::Document::load(filename);

    if (!newdoc)
    {
            QMessageBox msgbox(QMessageBox::Critical, tr("Open Error"), tr("Cannot open:\n") + filename, QMessageBox::Ok, this);
            msgbox.exec();
            return;
    }


    closePdfFile();

    pdfDocument_ = newdoc;
    pdfCurrentPage_ = 0;
    pdfDocument_ ->setRenderHint(Poppler::Document::TextAntialiasing, true);
    pdfDocument_ ->setRenderHint(Poppler::Document::Antialiasing, true);
    pdfDocument_->setRenderBackend(Poppler::Document::SplashBackend);

    drawPdf_ = true;

    //initial pdf image
    updatePdfPageImage();

}
示例#3
0
PaintWidget::~PaintWidget()
{
    closePdfFile();
}