国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

在VB6 處理pdf 和jpg文件

2019-11-11 03:38:25
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

最近做的一個(gè)項(xiàng)目需用將pdf文件頁(yè)面輸出成jpg圖片文件,再對(duì)這些輸出的jpg頁(yè)面進(jìn)行裁剪操作。

因?yàn)閂B6比較舊了,很多主流的插件沒(méi)有vb6可用的api或者示例代碼,網(wǎng)上找了很久,總結(jié)一下VB6可行的方案:

一、處理pdf文件

1.Apache PDFBox

PDFBox 是一個(gè)使用java編寫的開源的PDF文檔處理庫(kù) 可以在這里下載: http://pdfbox.apache.org/

因?yàn)槭鞘褂肑ava編寫的,所以使用前需要安裝jre 程序支持命令行,在VB中具體調(diào)用方式是以shell()命令調(diào)用,例如:

shell ("java -jar pdfbox-app-2.0.4.jar PDFToImage -imageType jpg C:/1.pdf")

上面命令將一個(gè)pdf文件的所有頁(yè)面輸出成jpg圖片,還有許多其他命令可以用,具體參考: http://pdfbox.apache.org/2.0/commandline.html

PDFBox有一個(gè)較大的不足是處理速度較慢

2.Debenu Quick PDF Library

Debenu目前已經(jīng)被國(guó)內(nèi)的Foxit福晰收購(gòu)了,是一個(gè)商業(yè)軟件,使用需要付費(fèi),不過(guò)網(wǎng)上可以找到注冊(cè)碼。 下載后需要ActiveX的quickpdf.dll和quickpdf.tlb兩個(gè)文件,使用前可以先用系統(tǒng)自帶的Regsvr32注冊(cè)quickpdf.dll,也可以不,如果在其他電腦上運(yùn)行出錯(cuò)時(shí)則需要注冊(cè)。

菜單欄-工程-引用,選擇瀏覽,選中quickpdf.tlb后即在工程中引用了這個(gè)庫(kù)了: 引用

接下來(lái),可以按F2查看這個(gè)庫(kù)中可以調(diào)用的對(duì)象,完整的開發(fā)文檔在這里: http://www.debenu.com/PRoducts/development/debenu-pdf-library/help/developer-guide/

接下來(lái)是進(jìn)入實(shí)際開發(fā)環(huán)節(jié),由于是商業(yè)軟件,首先需要輸入注冊(cè)信息:

Dim pb As New DebenuPDFLibraryAX1016.PDFLibraryDim RegStatus As IntegerRegStatus = pb.UnlockKey("j87ig3k84fb9eq9dy34z7u66y")Print RegStatus

調(diào)用后如果返回RegStatus為1,則表明注冊(cè)成功

將PDF頁(yè)面轉(zhuǎn)換成圖片文件:

QP.LoadFromFile("sample.pdf", "") '第一步將文件載入內(nèi)存iNumPages = QP.PageCount() '獲取pdf文件的頁(yè)數(shù)QP.RenderDocumentToFile(100, 1, iNumPages, 0, "image.bmp") '轉(zhuǎn)換

其他命令請(qǐng)參考開發(fā)文檔

二、處理jpg圖像文件

網(wǎng)上給出的解決方案有二:使用GDI+;調(diào)用Intel JPEG lib。這里介紹另一種開源的解決方案FreeImage,支持jpg、png、bmp等多種圖像處理,可以在這里下載dll和開發(fā)文檔: http://freeimage.sourceforge.net/download.html

需要的文件是壓縮包里的FreeImage.dll和modFreeImage.bas,將兩個(gè)文件放到程序目錄下。

新建一個(gè)工程,將modFreeImage.bas作為模塊添加,這樣就可以調(diào)用dll了。

對(duì)圖片進(jìn)行重采樣:

Dim dib As LongDim dib2 As Longdib = FreeImage_LoadU(FIF_JPEG, "jpgfile.jpg",0) '將圖片載入內(nèi)存dib2 = FreeImage_Rescale(dib, 1280, 800, FILTER_BOX) '重采樣Call FreeImage_SaveU(FIF_JPEG, dib2, "tgfile.jpg",0) '保存文件FreeImage_Unload(dib) '釋放內(nèi)存
上一篇:KMP探索

下一篇:運(yùn)行時(shí)庫(kù)

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 仁寿县| 万山特区| 廊坊市| 永兴县| 从化市| 温州市| 奈曼旗| 根河市| 孟津县| 开平市| 内丘县| 安义县| 万盛区| 衡水市| 姜堰市| 南靖县| 日照市| 固镇县| 岑溪市| 蓬莱市| 宾阳县| 贵德县| 徐闻县| 朝阳区| 休宁县| 勃利县| 黄梅县| 安吉县| 凤台县| 无极县| 临洮县| 五华县| 特克斯县| 六安市| 天水市| 思南县| 嘉峪关市| 马公市| 阜宁县| 博白县| 盐池县|