跳转到主要内容

基于模板的基本导入PDF

项目描述

Beta License: AGPL-3 OCA/edi Translate me on Weblate Try me on Runboat

此模块允许您导入PDF文件并根据这些PDF文件中包含的数据生成记录。它还允许您定义一个模式,以指示如何识别和从PDF中提取数据以生成记录。

目录

配置

要配置PDF文档模板进行导入,首先需要将文档定义为具有特定结构。

  1. 转到设置 > 技术 > 基本导入PDF简单 > 模板

  2. 通过输入特性名称和记录将要生成的模型创建一个新的模板。

在模板上需要完成的字段

  • 主模型:记录将要生成的模型。例如:purchase.order

  • 子字段:One2many字段,将从所选模板创建记录。例如:Order Lines (purchase.order)

  • 自动检测模式:定义文档的特性模式,以便它能够识别它对应于我们正在创建的模板。需要使用正则表达式。例如:(?<=ESA79935607)[Ss]*

  • 标题项:如果模板有一个用于提取信息行的标题表,请完成此字段。例如:参考,数量,价格

  • 公司:设置将使用此模板的公司。如果为空,模板将适用于环境中设置的所有公司。

  1. 添加新行。

  • 相关模型:添加新行时,定位数据的部分;“标题”指代文档的标题,而“行”指代文档的行结构或表格。

  • 字段:映射要完成字段。例如:product

  • 模式:可选字段,用于填写。定义文档模式,以便在PDF模板上识别选择字段的位置。需要使用正则表达式。例如:([0-9]{7}) [0-7]{1}

  • 值类型

    • 固定:选择此选项,如果映射的字段将始终具有特定值且不从模板中提取信息。在这种情况下,模式字段必须为空。

    • 变量:选择变量从模板中获取信息。在这种情况下,模式字段必须填写。

  • 对于“变量”类型的值将出现额外的字段供填写

  • 搜索值:表示在系统中搜索PDF获取的值的字段。

  • 默认值:如果搜索值选项的搜索结果为空,您可以设置默认值以创建记录并避免错误信息。

  • 记录不同值?此选项在获取价格以比较系统中价格和从PDF中获得的价格时很有用。这将创建来自系统的价格行,并在chatter上创建记录以查看从PDF获得的差异。

检查演示数据以获取更多信息。

用法

此模块允许在任何Odoo模型中上传PDF文件。它处理每个文件并将其转换为新的记录。技术上,PDF被转换为文本,然后处理该文本以创建记录。该模块在“导入记录(带有模板)”和模板配置操作中集成了选项,以识别任何文档结构。

已知问题/路线图

  • 在模板行中添加操作符(=或ilike)

  • 添加对选择字段的默认值支持。

  • 简化自动检测(仅定义文本以在系统中搜索,应搜索相应的正则表达式)。

  • 允许与从电子邮件别名创建的注册过程(例如采购订单)兼容。

  • 删除错误,如果某些文件未自动检测到模板,选项:布尔值(默认选项根据系统参数)忽略未找到的文件或更改流程为两步,自动检测并显示带有模板应用的行(每个行都与一个文件相关),类似于dms_auto_classification。

  • 创建包含销售、采购和会计依赖关系的test_base_import_pdf_simple模块,以便在runboat中创建的模板和测试对测试人员更有用。

  • 如果预览过程中出现错误,显示更易读的错误,例如:错误的模式。信息:“请检查定义的模板,某些项设置不正确”。

  • 在导入向导过程中添加进度条(widget=“gauge”),如果导入例如包含20行记录的销售订单,这将非常有用。

与csv、xls等兼容

  • 将大部分逻辑分离到新的base_import_simple模块中,该模块将包含模板的逻辑、文件类型(csv、excel等)在模板中,以及向导,此模块将依赖于其他模块,仅添加与PDF相关的部分。

  • 基本模块应考虑每个模板,每个行是否是新记录,以及起始行(如果想要省略任何),仅导入第一页。

  • 预览智能按钮将具有完全相同的作用。

  • 在csv和Excel的情况下,如果每个记录是一行,则文档将不会附加到记录。

  • 如果您指示每个记录是一行,则列将是键,否则您必须指定模板的每一行对应于哪个行。

  • 在csv的情况下,它将尝试自动检测行和列(无需复杂地配置分隔符)。

  • 收藏夹菜单中的“导入PDF”菜单将变为“导入文件”,允许的文件扩展名将是从方法获得的(它将由添加其他格式(如PDF)的模块扩展)。

  • 将 queue_job_base_import_simple 模块添加到队列中处理所有任务(例如:包含数百行的 Excel 文件,每行一个记录)。

错误跟踪器

问题在 GitHub 问题 中跟踪。如果在遇到麻烦时,请检查您的问题是否已经被报告。如果您是第一个发现它的人,请通过提供详细且受欢迎的 反馈 来帮助我们解决这个问题。

请不要直接联系贡献者以获取支持或技术问题的帮助。

致谢

作者

  • Tecnativa

贡献者

  • Tecnativa:

    • Víctor Martínez

    • Pedro M. Baeza

维护者

本模块由 OCA 维护。

Odoo Community Association

OCA,即 Odoo 社区协会,是一个非营利组织,其使命是支持 Odoo 功能的协作开发并推广其广泛应用。

当前 维护者

victoralmau

本模块是 GitHub 上的 OCA/edi 项目的组成部分。

欢迎您贡献。了解如何贡献请访问 https://odoo-community.org/page/Contribute

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

此版本没有可用的源分布文件。有关生成分发存档的教程,请参阅 生成分发存档

构建分布

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页