国产老熟女高潮毛片A片仙踪林,欧美喂奶吃大乳,狠狠爱无码一区二区三区,女神的私人医生动漫免费阅读

新聞建站cms系統、政府cms系統定制開發

廣州網站建設公司-閱速公司

asp.net新聞發布系統、報紙數字報系統方案
/
http://www.tjsimaide.com/
廣州網站建設公司
您當前位置:首頁>網站技術

網站技術

利用acrobat sdk提取pdf文檔內容

發布時間:2019/5/18 13:45:28  作者:Admin  閱讀:1595  

廣告:

0x00 背景

HackingTeam泄漏事件影響頗大,415.77G的內容大多是郵件內容,分析起來比較麻煩,因而被大多數人忽略。網上有很多郵件分析的文章HT郵件分析,主要是針對郵件關聯進行分析,若對郵件內容進行分析則需提取郵件附件中的內容,再針對內容做進一步分析。本文背景其實與上文無關,只是借此提升逼格,下面將介紹如何利用acrobat SDK提取pdf文檔內容。

0x01 acrobat導入

只要安裝了Adobe Acrobat,就能在其安裝目錄下找到acrobat.tlb,其中包含了adobe公司提供的接口,可對pdf進行各種操作參考文檔,使用類向導將其導入。

提取文本內容需導入CAcroApp、CAcroAVDoc、CAcroAVPageView、CAcroPDPage、CAcroPDTextSelect、CAcroHiliteList。

0x02 提取文檔內容

首先需要”打開”pdf,核心代碼如下:

CAcroApp *pAcrpApp = new CAcroApp;

COleException e;

pAcrpApp->CreateDispatch("AcroExch.App",&e);

CAcroAVDoc *pAvdoc = new CAcroAVDoc;

pAvdoc->CreateDispatch("AcroExch.AVDoc",&e);

//打開pdf,其中PDFName為全路徑

if (!pAvdoc->Open(PDFName,NULL))

{

printf("open pdf failed");

...

return 0;

}

打開文檔后,通過pAvdoc可選擇頁數(默認為第一頁),創建高亮板(CAcroHiliteList),將選擇頁數的內容加入高亮板,然后就可以從中提取出該頁的內容,核心代碼如下:

CAcroAVPageView pageView;

CAcroPDPage page;

CAcroPDTextSelect* textSelect = new CAcroPDTextSelect;

CAcroHiliteList* hilite = new CAcroHiliteList;

long selectionSize;

pageView.AttachDispatch(pAvdoc->GetAVPageView(),TRUE);

 

hilite->CreateDispatch("AcroExch.HiliteList");

if (hilite)

{

//設置為第一頁

pageView.GoTo(0);

/*

這里是設置高亮板的大小

由于沒有找到如何在設置高亮板前獲取該頁內容長度的方法,所以采用設置成極大的長度

如有朋友知道方法,歡迎提出相互學習

*/

hilite->Add(0,4000);

page.AttachDispatch(pageView.GetPage(), TRUE);

textSelect->AttachDispatch(page.CreateWordHilite(hilite->m_lpDispatch));

pAvdoc->SetTextSelection(textSelect->m_lpDispatch);

selectionSize = textSelect->GetNumText();

if (selectionSize && strText.GetLength() < 4000)

{

for(int i = 0;i < selectionSize;i ++)

{

strText += textSelect->GetText(i);

}

}

}

要完整提取出文檔中的全部內容,可通過CAcroPDDoc獲取pdf總頁數,然后利用pageView.GoTo循環每一頁,下面給出的完整工程將不包含此部分代碼。

廣告:

相關文章
acrobat
sdk
cms新聞系統購買咨詢
掃描關注 廣州閱速軟件科技有限公司
掃描關注 廣州閱速科技
主站蜘蛛池模板: 盐亭县| 沂源县| 韩城市| 吴川市| 临沂市| 宣武区| 遂宁市| 崇信县| 大同市| 华容县| 石门县| 丰都县| 和田市| 通许县| 汤原县| 临清市| 万年县| 廊坊市| 安泽县| 通州区| 定结县| 和硕县| 延寿县| 沛县| 仙游县| 从化市| 微山县| 北京市| 清镇市| 西峡县| 齐齐哈尔市| 秭归县| 肇源县| 西吉县| 磴口县| 炉霍县| 嫩江县| 那曲县| 河东区| 万盛区| 定边县|