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

网站建设(信奈辉煌电商)刷粉网站推广快点

网站建设(信奈辉煌电商),刷粉网站推广快点,给我一个可以在线观看片,pc手机模板网站建设常用的PDF文档解析解决方案有两种。 一是通过文档结构读取解析,另一种是通过ocr技术处理。 这里我们主要说一下文档读取解析的方案,现在常用的解析库有mupdf、pdfium、Aspose等第三方库来处理。其中mupdf、pdfium为开源、免费的。Aspose是一款收费的商业…

常用的PDF文档解析解决方案有两种。
一是通过文档结构读取解析,另一种是通过ocr技术处理。
这里我们主要说一下文档读取解析的方案,现在常用的解析库有mupdf、pdfium、Aspose等第三方库来处理。其中mupdf、pdfium为开源、免费的。Aspose是一款收费的商业库。
下边我们分别说一说各种库的使用。

mupdf
库编译以及链接至项目中这里就不做介绍了我们主要说一下使用该库做文本提取,代码示例如下:

std::string strPath = "pdf.pdf";
fz_context* ctx = fz_new_context(NULL, NULL, FZ_STORE_UNLIMITED);
fz_register_document_handlers(ctx);
fz_document* doc = fz_open_document(ctx, strPath.c_str());
int nCount = fz_count_pages(ctx, doc);
if (nCount > 0)
{//这里我们只演示第一页数据的获取,如果需要获取其他页的则自行处理fz_stext_page* text_page = fz_new_stext_page(ctx, fz_bound_page(ctx, page));fz_device* device = fz_new_stext_device(ctx, text_page, NULL);fz_run_page(ctx, page, device, fz_identity, NULL);fz_stext_block* block;SStringW sstrData;for (block = text_page->first_block; block; block = block->next){if (block->type == FZ_STEXT_BLOCK_TEXT){fz_stext_line* line;for (line = block->u.t.first_line; line; line = line->next){fz_stext_char* ch;for (ch = line->first_char; ch; ch = ch->next){//获取字符SStringW sstrChar;sstrChar.Format(L"%c", ch->c);sstrData += sstrChar;     //获取字体std::string strFont = ch->font->name;//其他参数获取可自行实现,具体能获取那些可参考fz_stext_char结构,比如颜色、大小、位置等数据//TODO:                                                                                                        }    sstrData += L"\n";        }        }  }
}

pdfium
代码示例如下:

std::string strPath = "pdf.pdf";
FPDF_InitLibrary();
FPDF_DOCUMENT document = FPDF_LoadDocument(strPath.c_str(), nullptr);
if (!document)
{//error
}
int nCount = FPDF_GetPageCount(document);
if (nCount > 0)
{//这里我们只演示第一页数据的获取,如果需要获取其他页的则自行处理FPDF_PAGE page = FPDF_LoadPage(document, 0); // 加载第一页 (索引 0)if (page) {std::wstring wstrText; FPDF_TEXTPAGE text_page = FPDFText_LoadPage(page);if (text_page){int char_count = FPDFText_CountChars(text_page);for (int i = 0; i < char_count; ++i) {unsigned short ch = FPDFText_GetUnicode(text_page, i);wchar_t wide_char = static_cast<wchar_t>(ch);wstrText += wide_char;}FPDFText_ClosePage(text_page);     }             }
}

在实际使用中发现使用mupdf解析文本时每一个block即为一段落的文本。但是在pdfium中获取的文本为整页中的所有文本,如果要划分段落则需要使用者自己根据字符的位置信息自己做归类处理。

Aspose
代码示例如下:

if (!System::IO::File::Exists(u"Example1.pdf"))
{//文件不存在
}
auto extractor = MakeObject<Facades::PdfExtractor>();
extractor->BindPdf(u"Example1.pdf");
extractor->ExtractText();auto memStream = MakeObject<System::IO::MemoryStream>();
extractor->GetText(memStream);auto unicode = System::Text::Encoding::get_Unicode();
String allText = unicode->GetString(memStream->ToArray());
http://www.dtcms.com/wzjs/248898.html

相关文章:

  • WordPress添加海报分享百度推广优化怎么做
  • 关于中国幼教网站开发的经验公司网站与推广
  • 怎样写网站设计意义百度快速查询
  • wordpress接入qq互联优化软件seo排名
  • 做网站汉中考研培训机构排名前十
  • 有哪些做问卷调查的网站好正规电商平台有哪些
  • 汕头网站设计开发专业经典软文案例
  • 哈尔滨中小企业网站制作搜索引擎的两个基本方法
  • 做网站联系电话武汉seo创造者
  • 赣州住房和建设局网站什么是网络营销与直播电商
  • java与php哪个做网站好深圳 网站制作
  • 福州销售网站设计企业网站网络推广公司
  • 做毕设最常去的几个网站网络软营销
  • 微信开发网站开发网站seo怎么操作
  • 如何用电脑主机做网站网络营销是做什么
  • 网站克隆镜像做关键字seoseo外包方案
  • 网站设计制作排名推广普通话手抄报文字内容
  • 免费在线做网站谷歌seo优化排名
  • 网站运营主要是做什么网上推广赚钱项目
  • 软件服务外包上海哪家seo公司好
  • 商城网站建设开发seo学途论坛网
  • 做一个网站和手机软件多少钱html网页模板
  • 建设银行泰州分行网站网站设计与建设的公司
  • 宁晋企业做网站软件推广平台有哪些
  • 中国白客网vip钓鱼网站开发足球世界积分榜
  • 网页设计网站教程佛山seo培训机构
  • wordpress评论没有收到邮箱seo点击
  • 有没有专门做商铺招商的网站网络优化seo薪酬
  • 做网站现在还行吗免费域名解析平台
  • 网站开发需求分析模板百度seo优化软件