国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

十、Qt 操作PDF文件

這篇具有很好參考價值的文章主要介紹了十、Qt 操作PDF文件。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?《一、QT的前世今生》

《二、QT下載、安裝及問題解決(windows系統(tǒng))》
《三、Qt Creator使用》????

《四、Qt 的第一個demo-CSDN博客》

《五、帶登錄窗體的demo》

《六、新建窗體時,幾種窗體的區(qū)別》?

《七、Qt 信號和槽》?
《八、Qt C++ 畢業(yè)設(shè)計》

《九、Qt C++ 數(shù)據(jù)庫開發(fā)》

《十、Qt 操作PDF文件-CSDN博客》

一、下載Poppler開源庫

使用Poppler第三方開源庫,下載地址:Poppler,我下載的是最新版的poppler-24.01.0

poppler-24.01.0壓縮包文件下載后需要自行編譯,生成可用的類庫。如果Poppler解析出來的PDF文件無法正常顯示中文,需要將poppler-data-0.4.12包里的相關(guān)文件拷貝到指定目錄下,才能正常顯示中文。我的中文顯示正常,所以我沒有下載poppler-data-0.4.12包。

十、Qt 操作PDF文件,QT C++,qt,pdf,開發(fā)語言,c++

也可以下載從Poppler Win32 download | SourceForge.net 下載windows下直接可用的dll庫,但是上邊的poppler-24.01.0壓縮包還是需要下載的,因為頭文件在此包中。

十、Qt 操作PDF文件,QT C++,qt,pdf,開發(fā)語言,c++

十、Qt 操作PDF文件,QT C++,qt,pdf,開發(fā)語言,c++

二、搭建環(huán)境

在程序目錄下新建poppler文件夾,我把公用的類庫都放到了CommDEV文件夾下

十、Qt 操作PDF文件,QT C++,qt,pdf,開發(fā)語言,c++

將poppler-24.01.0壓縮包中的 \qt5\src 文件夾下的所有文件拷貝到上邊新建的poppler文件夾中。因為像poppler-qt5.h對應(yīng)的是poppler-qt5.dll,在寫程序時都要用到。

十、Qt 操作PDF文件,QT C++,qt,pdf,開發(fā)語言,c++

將poppler-0.39.0-win32包解壓縮后的libpoppler.dll,libpoppler-qt5.dll和lib文件夾下的libpoppler.dll.a,libpoppler-qt5.dll.a

十、Qt 操作PDF文件,QT C++,qt,pdf,開發(fā)語言,c++

這4個dll拷貝到程序所在的目錄下的poppler文件夾內(nèi)。

十、Qt 操作PDF文件,QT C++,qt,pdf,開發(fā)語言,c++

以上步驟操作大家仔細(xì)看,別把文件放錯了地方。

三、配置pro文件

十、Qt 操作PDF文件,QT C++,qt,pdf,開發(fā)語言,c++

十、Qt 操作PDF文件,QT C++,qt,pdf,開發(fā)語言,c++

以下標(biāo)紅的地方需要注意,我們是在windows系統(tǒng)下開發(fā),沒有用的咱們不選。

十、Qt 操作PDF文件,QT C++,qt,pdf,開發(fā)語言,c++

十、Qt 操作PDF文件,QT C++,qt,pdf,開發(fā)語言,c++

再按以上的步驟添加另一個dll

十、Qt 操作PDF文件,QT C++,qt,pdf,開發(fā)語言,c++

添加完的pro文件里多出了以下這些代碼

表示添加成功。

十、Qt 操作PDF文件,QT C++,qt,pdf,開發(fā)語言,c++

四、開始寫代碼

引用頭文件

#include "poppler-qt5.h"

十、Qt 操作PDF文件,QT C++,qt,pdf,開發(fā)語言,c++

編寫代碼

十、Qt 操作PDF文件,QT C++,qt,pdf,開發(fā)語言,c++

QString filename=QFileDialog::getOpenFileName(this,QString::fromUtf8("打開"),"","pdf file (*.pdf)");//獲取pdf文件路徑

if(filename.isEmpty()){

return;//如果文件路徑為空則返回

}

Poppler::Document* document = Poppler::Document::load(filename);//加載pdf文件

if (!document || document->isLocked()) {

QMessageBox::information(this,"提示",QString::fromUtf8("無法打開文件:%1").arg(filename));//如果加載不成功,輸出錯誤信息,并返回

delete document;

return;

}

//再次檢查document是否可用

if (document == 0) {

// ui->label_message->setText(QString::fromUtf8("文件內(nèi)無內(nèi)容:%1").arg(filename));//不可用則輸出錯誤信息,并返回

return;

}

//將PDF文檔的每一頁輸出為QImage

// for(int pageNumber=0;pageNumbernumPages();pageNumber++){

//獲取指定頁碼的頁面,頁碼從0開始

Poppler::Page* pdfPage = document->page(0);

if (pdfPage == 0) {

qDebug()

return;

}

//將頁面內(nèi)容轉(zhuǎn)換為QImage

QImage image = pdfPage->renderToImage();

// double xres=72.0, yres=72.0; int x=-1, y=-1, width=-1, height=-1;

// QImage image = pdfPage->renderToImage(xres, yres, x, y, width, height);

// if (image.isNull()) {

// qDebug()

// return;

// }

// 在QLabel中顯示QImage

QLabel *label = new QLabel(this);

label->setPixmap(QPixmap::fromImage(image));

ui->horizontalLayout->addWidget(label);

//使用完后記得釋放掉Poppler::Page* pdfPage

delete pdfPage;

// }

delete document;

如果在編譯程序時出現(xiàn)錯誤,缺少poppler-export.h,可從以下連接下載

https://download.csdn.net/download/zhouhui1982/88747128

運行效果

十、Qt 操作PDF文件,QT C++,qt,pdf,開發(fā)語言,c++

十、Qt 操作PDF文件,QT C++,qt,pdf,開發(fā)語言,c++

目前只能顯示第一頁的pdf內(nèi)容,在下一章節(jié)中,我們再來細(xì)化pdf的相關(guān)操作,比如滾動條,下一頁,上一頁按鈕等。以前打包依賴庫,支持可以單獨運行的程序。文章來源地址http://www.zghlxwxcb.cn/news/detail-798938.html

到了這里,關(guān)于十、Qt 操作PDF文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • QT自帶PDF庫的使用

    QT自帶PDF庫的使用

    ? ? ? QT自帶PDF庫可以方便的打開PDF文件,并將文件解析為QImage,相比網(wǎng)上提供的開源庫,QT自帶PDF庫使用更方便,也更加可靠,然而,QT自帶PDF庫的使用卻不同于其他通用庫的使用,具備一定的技巧。 1. 安裝 ? ? ? QTPDF在QT中屬于QWebEngine ,在安裝時一定要選擇“Qt WebEngine”

    2024年02月14日
    瀏覽(73)
  • QT技術(shù)實現(xiàn)Word模板編輯及轉(zhuǎn)PDF

    本文詳細(xì)介紹了如何使用QT技術(shù)進(jìn)行Word模板的編輯,包括添加書簽、替換文本和圖片等操作,以及如何將Word文檔轉(zhuǎn)換為PDF格式。

    2024年02月12日
    瀏覽(21)
  • 使用 Qt 生成 Word 和 PDF 文檔的詳細(xì)教程

    使用 Qt 生成 Word 和 PDF 文檔的詳細(xì)教程

    前些天發(fā)現(xiàn)了一個巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點擊跳轉(zhuǎn)到網(wǎng)站,這篇文章男女通用,看懂了就去分享給你的碼吧。 Qt 是一個跨平臺的應(yīng)用程序開發(fā)框架,除了用于創(chuàng)建圖形界面應(yīng)用程序外,還可以用來生成 Word 和 PDF 文檔。本文

    2024年02月12日
    瀏覽(28)
  • 07-3_Qt 5.9 C++開發(fā)指南_文件目錄操作

    07-3_Qt 5.9 C++開發(fā)指南_文件目錄操作

    Qt 為文件和目錄操作提供了一些類,利用這些類可以方便地實現(xiàn)一些操作。Qt 提供的與文件和目錄操作相關(guān)的類包括以下幾個。 QCoreApplication:用于提取應(yīng)用程序路徑、程序名等文件信息 QFile: 除了打開文件操作外,QFile 還有復(fù)制文件、刪除文件等功能 QFileInfo:用于提取文件的信

    2024年02月13日
    瀏覽(49)
  • QT基礎(chǔ)教程(QT中的文件操作)

    本篇文章我們來講解QT中的文件操作,文件操作對于QT來說是非常重要的一個點,那么下面的話將給大家詳細(xì)的講解QT中的文件操作。 在QT中,文件操作是通過Qt的文件和目錄處理類來完成的。以下是一些常用的文件操作功能: 1.打開和關(guān)閉文件: 使用QFile類可以在QT中打開和關(guān)

    2024年02月05日
    瀏覽(18)
  • 【Qt】Qt中的拖放操作實現(xiàn)——拖放文件以及自定義拖放操作

    【Qt】Qt中的拖放操作實現(xiàn)——拖放文件以及自定義拖放操作

    文章參考《Qt Creator快速入門(第三版)》。 拖放操作分為拖動Drag和放下Drop,Qt提供了強(qiáng)大的拖放機(jī)制,可在幫助文檔中通過Drag and Drop查看。 在Qt中,數(shù)據(jù)拖動時會被存儲為MIME類型(Multipurpose Internet Mail Extensions)。Qt提供QMimeData類表示MIME類型的數(shù)據(jù),并使用QDrag類完成數(shù)

    2023年04月19日
    瀏覽(20)
  • Qt——文件的讀寫操作

    Qt——文件的讀寫操作

    文件的讀寫是很多應(yīng)用程序具有的功能,甚至某些應(yīng)用程序就是圍繞著某一種格式文件的處理而開發(fā)的,所以文件讀寫是應(yīng)用程序開發(fā)的一個基本功能。 Qt 提供了兩種讀寫純文本文件的基本方法: 用 QFile 類 的 IODevice 讀寫功能直接進(jìn)行讀寫 利用 QFile 和 QTextStream 結(jié)合起來,

    2024年02月13日
    瀏覽(21)
  • Qt--文件操作

    Qt--文件操作

    在Qt中對于文件操作,利用一個例子講明白,就說通過按鈕選擇一個文件并將其內(nèi)容打開到文本框中,注意:需要包含對應(yīng)的頭文件方可執(zhí)行 讀文件的方式: 首先要得到這個要打開的文件的路徑,先默認(rèn)打開的界面是桌面,選擇路徑時需要判斷是否選中,這個通過isEmpty這個

    2024年02月12日
    瀏覽(16)
  • QT文件操作

    QT文件操作

    時間記錄:2024/1/10 文件讀寫的一些注意點,讀文件時文件名可以是相對路徑,但是向文件寫內(nèi)容時文件名需要是絕對路徑 1.文件對話框 QFileDialog 靜態(tài)方法getOpenFileName彈出文件選擇框,選擇要打開的文件,返回打開文件的路徑+文件名 2.文件操作 QFile類 常用屬性: (1)setFil

    2024年02月03日
    瀏覽(17)
  • 「Qt」文件讀寫操作

    「Qt」文件讀寫操作

    ? ? ? ? 我們知道 C 和 C++ 都提供了文件讀寫的類庫,不過 Qt 也有一套自己的文件讀寫操作;本文主要介紹 Qt 中進(jìn)行文件讀寫操作的類 —— QFile 。 ? ? ? ? 一般的桌面應(yīng)用程序,當(dāng)我們想要打開一個文件時,通常會彈出一個文件對話框。在 Qt 中,文件對話框使用 QFileDial

    2024年02月12日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包