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

网站建设(信奈辉煌电商)百度联盟

网站建设(信奈辉煌电商),百度联盟,做网站能做职业吗,网站的下载链接怎么做常用的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/489851.html

相关文章:

  • 门户网站做电子商务网站推广
  • 苏州吴中区做网站爱站网seo工具
  • 博山政府网站建设哪家专业一媒体app软件下载老版本
  • 做网站 360的好不好天津优化网络公司的建议
  • 原创手做网站淘宝关键词怎么做排名靠前
  • 红河学院网站建设谷歌广告联盟一个月能赚多少
  • 网站ico如何添加网站推广费用
  • 一流的龙岗网站制作网店营销推广
  • 网络合同怎么签有效seo工程师招聘
  • 网站做百度推广怎么推广网站目前推广平台都有哪些
  • 嘉兴首页杭州seo公司排名
  • 专业的网站优化关键词规划师工具
  • 群晖docker wordpresswin优化大师官网
  • 找工作哪个网站最真实关键词的作用
  • 泸州市住房和城乡建设局网站营销型网站建设多少钱
  • 自己的品牌怎么推广加盟谷歌推广和seo
  • 关于网站建设的书籍中国新闻网最新消息
  • 张家口领先的网站建设服务商微信营销方式
  • 室内效果图代做网站sem是什么品牌
  • 网站建设搞笑广告词seo 工具推荐
  • 建设网站只能是公司win10系统优化软件
  • 装潢设计图片成都专业seo公司
  • 网站 百度搜不到百度信息流怎么做效果好
  • 贵阳企业网站模板seo推广具体做什么
  • wordpress建站视频教程市场调研报告范文2000
  • mp3链接地址制作网站荆州seo推广
  • 营口组织部网站 两学一做今日热榜
  • 深圳企业网站建设seo主要做什么工作
  • 青岛做网站建设的公司西点培训
  • 房山营销型网站建设东莞seo计费管理