Example #1
0
void Viewer::previousPageClicked() {
    if (currentPage==0) return;
    currentPage--;
    pdfPage = document->page(currentPage);
    image = pdfPage->renderToImage(scaleFact*physicalDpiX(),scaleFact*physicalDpiY());
    myItem->setPixmap(QPixmap::fromImage(image));
}
Example #2
0
void Viewer::loadImageFile(QString exoFile)
{
    if (exoFile.isEmpty()) {
        image=QImage();
        myItem->setPixmap(QPixmap::fromImage(image));
        return;
    }

    QString pdfFile;
    if (QFileInfo(exoFile).suffix() == "pdf")  pdfFile = exoFile;
    else {
        pdfFile = QFileInfo(exoFile).path() + QDir::separator()
                  + QFileInfo(exoFile).baseName()+"-preview.pdf";
    }

    if (QFileInfo(pdfFile).exists()) {
        document = Poppler::Document::load(pdfFile);
        document->setRenderHint(Poppler::Document::Antialiasing,true);
        document->setRenderHint(Poppler::Document::TextAntialiasing,true);
        document->setRenderHint(Poppler::Document::TextHinting,true);
        document->setRenderHint(Poppler::Document::TextSlightHinting,true);
        numPages=document->numPages();
        currentPage=0;
        updatePagesButtons();
        pdfPage = document->page(currentPage);
        image = pdfPage->renderToImage(scaleFact*physicalDpiX(),scaleFact*physicalDpiY());
        myItem->setPixmap(QPixmap::fromImage(image));
    }
    else {
        image=QImage();
        myItem->setPixmap(QPixmap::fromImage(image));
        return;
    }
}
Example #3
0
void ReportView::scaleView(qreal factor)
{
	qreal f = matrix().scale(factor, factor).mapRect(QRectF(0, 0, 1, 1)).width();
	if (f < 0.07 || f > 100)
		return;

	Report *report = (Report*)scene();
	int dpiX = report ? report->dpiX() : 96;
	int dpiY = report ? report->dpiY() : 96;

	QTransform oldTransform = transform();
	resetTransform();
	translate(oldTransform.dx(), oldTransform.dy());
	scale(factor * physicalDpiX() / dpiX, factor * physicalDpiY() / dpiY);;
}
//show page
void FastViewWidget::showPage(int page)
{
   if(page > 0 && page < doc->numPages()+1)
   {
      if (page != -1 ){
	 currentPage = page - 1;
	 emit pageChanged(page);
	 
	 QImage image = doc->page(currentPage) ->renderToImage(scaleFactor * physicalDpiX(), scaleFactor * physicalDpiY());
	 double ratio = (double)image.width() /(double)image.height();
	 //compute size
	 int h = height();
	 int w = (int)(ratio *(double) h);
	
	 if(h != image.height())
	    image = image.scaled(w,h,Qt::IgnoreAspectRatio,Qt::SmoothTransformation);
	 // set page on to widget
	 current = new QLabel(this);
	 current->setAlignment(Qt::AlignCenter);
	 current->setPixmap(QPixmap::fromImage(image));
	 setWidget(current);
	 updateGeometry();
      }
   }
}
Example #5
0
void Viewer::onButtonOutClicked() {
    if (image.width()==0) return;
    scaleFact-=0.1;
    image = pdfPage->renderToImage(scaleFact*physicalDpiX(),scaleFact*physicalDpiY());
    myItem->setPixmap(QPixmap::fromImage(image));
}
Example #6
0
qreal Ruler::physicalDpi() const
{
    return (m_orientation == Qt::Horizontal) ? physicalDpiX() : physicalDpiY();
}