柚子快報激活碼778899分享:c++ QT自帶PDF庫的使用
柚子快報激活碼778899分享:c++ QT自帶PDF庫的使用
? ? ? QT自帶PDF庫可以方便的打開PDF文件,并將文件解析為QImage,相比網(wǎng)上提供的開源庫,QT自帶PDF庫使用更方便,也更加可靠,然而,QT自帶PDF庫的使用卻不同于其他通用庫的使用,具備一定的技巧。
1. 安裝
? ? ? QTPDF在QT中屬于QWebEngine ,在安裝時一定要選擇“Qt WebEngine”和“Sources”
? ? ? ?安裝完成后,在QT的安裝目錄lib下就多了QT PDF相關(guān)的靜態(tài)庫
2.? 環(huán)境搭建
? ? 由于QT pdf文件的頭文件位于src目錄下,所以要將相關(guān)的頭文件拷貝到QT的Include目錄下
將文件夾C:\Qt\5.15.0\Src\qtwebengine\src\pdf拷貝到C:\Qt\5.15.0\msvc2019_64\include
? ? 為了QT頭文件編譯時能夠通過,將C:\Qt\5.15.0\Src\qtwebengine\src拷貝到目錄C:\Qt\5.15.0\Src下
3. 工程環(huán)境配置
? ? 為了鏈接能夠通過,需在工程中增加QT模塊的設(shè)置和工程庫
4. QPDFDocument的使用
? ? ? 引用頭文件
? ??
#include
? ? 利用QPdfDocument讀取pdf文件并轉(zhuǎn)化為QImage
QString FileName = QFileDialog::getOpenFileName(this, nullptr, "E:/CAD files/PDF/", "PDF Files(*.*)");
if (FileName.isEmpty())
{
return;
}
QPdfDocument* document = new QPdfDocument;
document->load(FileName);
int totalPage = document->pageCount();
m_pdfImageList.clear();
for (int page = 0; page < totalPage; page++)
{
QSizeF size = document->pageSize(page);
QImage image = document->render(page, QSize(size.width(), size.height()));
m_pdfImageList.push_back(image);
}
document->close();
顯示QImage
QImage image = m_pdfImageList[m_CurrentPage];
ui.labelImage->clear();
ui.labelImage->setPixmap(QPixmap::fromImage(image));
5. 測試效果
?
?
柚子快報激活碼778899分享:c++ QT自帶PDF庫的使用
相關(guān)閱讀
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。