当前位置: 首页 > news >正文

余姚网站建设公司搜索引擎优化什么意思

余姚网站建设公司,搜索引擎优化什么意思,广州大型网站建设公司,校园门户网站系统建设关键技术文章目录 概要方案一方案二一、介绍二、编译三、用法本项目代码 概要 在qt程序中,要实现PDF文件浏览,从网上目前找到了两种解决方案,本文主要介绍下着两种方案和适用性。 方案一 这种方法是从https://github.com/develtar/qt-pdf-viewer-l…

文章目录

    • 概要
    • 方案一
    • 方案二
      • 一、介绍
      • 二、编译
      • 三、用法
      • 本项目代码

概要

在qt程序中,要实现PDF文件浏览,从网上目前找到了两种解决方案,本文主要介绍下着两种方案和适用性。

方案一

这种方法是从https://github.com/develtar/qt-pdf-viewer-library 提供的一个框架,集成方法和效果都不错,唯一的缺点是占用的内存太大,在嵌入式设备上不适用,故放弃了,
该方案采用的是webview, 故需要支持webview 也是占用内存较大的原因

效果如图:
在这里插入图片描述
在这里插入图片描述

方案二

集成pdfium,当然高版本的QT已经自带pdf功能。

一、介绍

pdfium.dll 是 Adobe 开源的一款 PDF 渲染引擎。它是一个跨平台的库(支持 Windows、Linux、MacOS 等多个平台),功能强大且易于使用。pdfium.dll 不仅支持 PDF 文件的解析、渲染、打印,还能够嵌入到自己的应用程序中使用。

pdfium.dll 的开源地址在 GitHub 上,对于开发者来说非常友好,文档详细且示例丰富。几乎可以做到零开发成本,就能够使用 pdfium.dll 库为自己的应用程序添加 PDF 渲染功能。

二、编译

QtPdfium 是一个Qt模块,主要用于操作和显示PDF文件。该模块核心功能使用了pdfium工程,它是Google的一个开源项目(BSD);

一、编译安装步骤

1、Mac/Linux代码编译和安装使用

git clone –recursive https://github.com/paulovap/qtpdfium
cd qtpdfium
qmake
make
make install (might need sudo)

三、用法

QtPdfium 导出两个重要类:QPdfium 和 QPdfiumPage.
1、包含头文件#include <QtPdfium/QtPdfiumDepends>
2、通过PDF文件名称生产QPdfium对象 QPdfium pdfium(strPDFFileName);
3、通过QPdfium生成QPdfiumPage 对象

//获取PDF文件包含的页数
int nPageCn = pPdfium->pageCount();

//获取指定的页
QPdfiumPage pfPage = pPdfium->page(i);
//由QpdfiumPage生成Qimage
QImage pdfImage = pfPage.image();
//….显示等

本项目代码

class PdfImageProvider : public QObject, public QQuickImageProvider
{Q_OBJECTQ_PROPERTY(bool ready READ ready NOTIFY readyChanged)
public:QPdfium *m_pdf = nullptr;explicit PdfImageProvider(): QQuickImageProvider(QQuickImageProvider::Image)//, m_pdf(new QPdfium()){}virtual ~PdfImageProvider() {}QImage requestImage(const QString &id, QSize *size, const QSize &requestedSize) override{Q_UNUSED(requestedSize);if (!m_pdf || !m_pdf->isValid()) {qDebug() << "Unable to load pdf";return QImage();}qDebug() << __func__ << requestedSize;int i = id.toInt();auto page = m_pdf->page(i);
//        qreal scale = requestedSize.isValid() ?
//                    requestedSize.width()/(qreal)page.width() :
//                    2;qreal scale = 1200/(qreal)page.width();qDebug() << __func__ << page.width() << page.height() << scale;auto image = page.image(scale);qDebug() << __func__ << image.width() << image.height() << scale;size->setWidth(image.width());size->setHeight(image.height());return image;}Q_INVOKABLE bool ready() {return m_pdf != nullptr && m_pdf->isValid();}Q_INVOKABLE int pageCount() {return m_pdf->pageCount();}Q_INVOKABLE void setFilename(QString filename) {m_pdf->loadFile(filename);Q_EMIT readyChanged(m_pdf->isValid());}Q_INVOKABLE QString pageText(int index) {return m_pdf && m_pdf->isValid() ? m_pdf->page(index).text() : "";}Q_INVOKABLE void creatPdfium(){qDebug() << __func__ << m_pdf;if(m_pdf == nullptr)m_pdf = new QPdfium();}Q_INVOKABLE void releasePdfium(){if(m_pdf != nullptr){delete m_pdf;m_pdf = nullptr;}}
Q_SIGNALS:void readyChanged(int);
};
http://www.ritt.cn/news/19858.html

相关文章:

  • 北京中高端网站建设优化措施最新回应
  • 游戏动漫设计与制作seo手机关键词排行推广
  • 曲靖建设局网站网址安全检测中心
  • 个体户备案网站可以做企业站吗yandere搜索引擎入口
  • 西安企业建站排名巨量算数
  • 玉环 网站建设购物链接
  • 网站图片素材下载seo排名赚下载
  • 做单位网站的公司吗贴吧推广
  • 做淘宝网站java代码吗淘宝关键词搜索
  • 如何看一个网站的备案在哪里做的百度推广怎么添加关键词
  • 网站html地图怎么做的湖南省人民政府官网
  • 凡科做的网站百度能收录吗如何做网页
  • wordpress怎么找到php文件路径广州王牌seo
  • 卖代码建设网站seo流量增加软件
  • 网站代码建设+实例义乌百度广告公司
  • 可以做翻译任务的网站淘宝自动推广软件
  • 外贸网站如何做推广多少钱国内的搜索引擎排名
  • 设计类网站策划书太原百度公司地址
  • app定制开发运营推广方案徐州百度seo排名优化
  • 深圳html5网站建设价格网站查询关键词排名软件
  • 创意广告视频网站seo积分优化
  • 做网站和做软件哪个有发展百度seo排名优化软件化
  • 广州网站开发定制设计汕头自动seo
  • 网站制作教程dw怎样推广品牌
  • 重庆机有哪些网站建设公司爱站长尾词挖掘工具
  • 广州大型网站建设公司排名知识付费小程序搭建
  • 怎样做平台网站网络优化工具app手机版
  • 如何把网站排名靠前在线培训平台
  • 网站制作算是什么专业百度平台客服
  • 婚纱摄影网站大全全球搜钻