CN117371446B - 一种病历文本排版方法、系统、存储介质及电子设备 - Google Patents

一种病历文本排版方法、系统、存储介质及电子设备 Download PDF

Info

Publication number
CN117371446B
CN117371446B CN202311670307.8A CN202311670307A CN117371446B CN 117371446 B CN117371446 B CN 117371446B CN 202311670307 A CN202311670307 A CN 202311670307A CN 117371446 B CN117371446 B CN 117371446B
Authority
CN
China
Prior art keywords
character
word segmentation
text
width
characters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311670307.8A
Other languages
English (en)
Other versions
CN117371446A (zh
Inventor
何长海
高园
丁川
叶凯
樊海东
鲁冰青
曾忠安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangxi Mandala Software Co ltd
Original Assignee
Jiangxi Mandala Software Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangxi Mandala Software Co ltd filed Critical Jiangxi Mandala Software Co ltd
Priority to CN202311670307.8A priority Critical patent/CN117371446B/zh
Publication of CN117371446A publication Critical patent/CN117371446A/zh
Application granted granted Critical
Publication of CN117371446B publication Critical patent/CN117371446B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明提供一种病历文本排版方法、系统、存储介质及电子设备,方法包括:获取输入文本所有字符的初始字符宽度,并通过预设分词规则对所述输入文本的初始字符进行分词得到分词字符;获取所述输入文本的渲染数据,并根据所述渲染数据、所述初始字符宽度和所述分词字符通过预设算法得到所述分词字符渲染后的显示字符宽度;获取文本框宽度,并根据所述文本框宽度、所述分词字符和所述显示字符宽度通过预设换行规则进行断行,再在文本框内输出断行并渲染后的所述输入文本。本发明解决了现有技术中的病历文本排版方法缺乏自适应性,使得排版出的文本可读性低的问题。

Description

一种病历文本排版方法、系统、存储介质及电子设备
技术领域
本发明涉及计算机技术领域,特别涉及一种病历文本排版方法、系统、存储介质及电子设备。
背景技术
B/S架构即浏览器和服务器架构模式,是随着网络技术的兴起,对C/S架构(客户端/服务器体系结构)的一种变化或者改进的架构。在这种架构下,用户工作界面是通过万维网浏览器来实现,极少部分事务逻辑在前端,但是主要事务逻辑在服务器端实现,形成所谓三层架构结构。B/S架构是万维网兴起后的一种网络架构模式,万维网浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Microsoft Edge、Safari、Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQLServer等数据库。浏览器通过Web Server同数据库进行数据交互。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
基于B/S架构的病历编辑器,其文档的排版通常是自上而下自左向右进行的。该文档的文本换行方法主要依赖于CSS(层叠样式表),但这种方法存在一系列局限性,包括不一致的换行行为在不同环境下、依赖于特定字体和排版规则、缺乏自适应性,无法根据字符宽度和分词情况动态确定换行位置,而电子病历文档中包含中文,英文,数字等其他各种类型的字符串,使得换行时若单行宽度不足,会将英文或其他类型字符串整体排列至下一行,使得上一行有大量空白。此外,不会随着文本框的大小变化进行适应性排版,使得文本框变大时,有大量空白。这些问题使得文本可读性低和排版方法的适用性差。
发明内容
基于此,本发明的目的是提供一种病历文本排版方法、系统、存储介质及电子设备,旨在解决现有技术中的病历文本排版方法缺乏自适应性,使得排版出的文本可读性低的问题。
根据本发明实施例的一种病历文本排版方法,所述方法包括:
获取输入文本所有字符的初始字符宽度,并通过预设分词规则对所述输入文本的初始字符进行分词得到分词字符;
获取所述输入文本的渲染数据,并根据所述渲染数据、所述初始字符宽度和所述分词字符通过预设算法得到所述分词字符渲染后的显示字符宽度;
获取文本框宽度,并根据所述文本框宽度、所述分词字符和所述显示字符宽度通过预设换行规则进行断行,再在文本框内输出断行并渲染后的所述输入文本。
另外,根据本发明上述实施例的一种病历文本排版方法,还可以具有如下附加的技术特征:
进一步地,所述获取输入文本所有字符的初始字符宽度,并通过预设分词规则对所述输入文本的初始字符进行分词得到分词字符的步骤包括:
获取输入文本的所有初始字符,及所述初始字符的初始字符宽度;
根据所述输入文本的初始字符通过预设分词词库得到多组预分词字符;
根据所述预分词字符通过预设语法规则确定所述分词字符。
进一步地,所述获取文本框宽度,并根据所述文本框宽度、所述分词字符和所述显示字符宽度通过预设换行规则进行断行的步骤包括:
依次读取所述输入文本的所述分词字符,并统计所述分词字符的显示字符宽度求和得到单行字符宽度值;
将所述单行字符宽度值与所述文本框宽度进行比较;
若所述单行字符宽度值小于所述文本框宽度,则继续从所述输入文本中读取下一个分词字符,并统计所述单行字符宽度值,直到所述单行字符宽度值大于或等于所述文本框宽度;
若所述单行字符宽度值等于所述文本框宽度则根据第一换行规则进行断行;
若所述单行字符宽度值大于所述文本框宽度则根据第二换行规则进行断行;
在文本断行后,将所述单行字符宽度值清零,继续从剩余文本依次读取所述分词字符,并统计新的所述单行字符宽度值,再根据所述单行字符宽度值和所述文本框宽度对剩余文本进行断行,直至读取的分词字符为空。
进一步地,所述分词字符至少包括非连续文字字符、连续文字字符和符号字符,所述连续文字字符由多个连续排版的字母字符组成,所述若所述单行字符宽度值等于所述文本框宽度则根据第一换行规则进行断行的步骤包括:
若所述单行字符宽度值等于所述文本框宽度,则判断下一个预读取的预读分词字符的字符类型;
若所述预读分词字符的字符类型不为符号字符,则在所述预读分词字符之前进行断行;
若所述预读分词字符的字符类型为符号字符,则判断所述预读分词字符之前一个所述分词字符的字符类型;
若所述分词字符的字符类型为非连续文字字符,则在所述非连续文字字符之前进行断行;
若所述分词字符的字符类型为连续文字字符,则在所述连续文字字符的最后一个所述字母字符之前增设一个连接符号字符,并在所述连接符号字符之后进行断行。
进一步的,所述分词字符至少包括非连续文字字符、连续文字字符和符号字符,所述连续文字字符由多个连续排版的字母字符组成,所述若所述单行字符宽度值大于所述文本框宽度则根据第二换行规则进行断行的步骤包括:
若所述单行字符宽度值大于所述文本框宽度,则将倒数第一个所述分词字符定义为第一分词字符,并判断所述第一分词字符的字符类型;
若所述第一分词字符的字符类型为非连续文字字符,则在所述第一分词字符之前进行断行;
若所述第一分词字符的字符类型为符号字符,则将倒数第二个所述分词字符定义为第二分词字符,并判断所述第二分词字符的字符类型,若所述第二分词字符的字符类型为非连续文字字符则在所述第二分词字符之前进行断行,若所述第二分词字符的字符类型为连续文字字符,则在所述连续文字字符的最后一个所述字母字符之前增设一个连接符号字符,并在所述连接符号字符之后进行断行;
若所述第一分词字符的字符类型为连续文字字符,则将所述第一分词字符拆分为多个连续排布所述字母字符,并删除所述第一分词字符且依次读取组成所述第一分词字符的所述字母字符,直到所述单行字符宽度值大于或等于所述文本框宽度,若所述单行字符宽度值等于所述文本框宽度,则在倒数第一个所述字母字符之前增设一个连接符号字符,并在所述连接符号字符之后进行断行,若所述单行字符宽度值大于所述文本框宽度,则在倒数第二个所述字母字符之前增设一个连接符号字符,并在所述连接符号字符之后进行断行。
进一步的,所述若所述预读分词字符的字符类型为符号字符,则判断所述预读分词字符之前一个所述分词字符的字符类型的步骤之后包括:
若所述分词字符的字符类型为符号字符,则在所述预读分词字符后进行断行,并根据目前读取的输入文本通过预设语义算法删除所述分词字符或所述预读分词字符。
进一步的,所述再在文本框内输出断行并渲染后的所述输入文本的步骤之后包括:
选取所述文本框中除最后一行外的输出文本,并根据预设对齐规则使所述输出文本两端对齐,且各行所述输出文本中的所述分词字符间距分别相同。
本发明实施例的另一个目的在于提供一种病历文本排版系统,所述系统包括:
分词确定模块,用于获取输入文本所有字符的初始字符宽度,并通过预设分词规则对所述输入文本的初始字符进行分词得到分词字符;
字符宽度确定模块,用于获取所述输入文本的渲染数据,并根据所述渲染数据、所述初始字符宽度和所述分词字符通过预设算法得到所述分词字符渲染后的显示字符宽度;
自动换行模块,用于获取文本框宽度,并根据所述文本框宽度、所述分词字符和所述显示字符宽度通过预设换行规则进行断行,再在文本框内输出断行并渲染后的所述输入文本。
本发明实施例的另一个目的是提供一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述的病历文本排版方法的步骤。
本发明实施例的另一个目的是提供一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的病历文本排版方法的步骤。
本发明,通过预设分词规则对输入文本的初始字符进行分词得到分词字符,并获取了分词字符的初始字符宽度,再根据渲染数据和预设算法得到分词字符渲染后的显示字符宽度,然后实时获取文本框宽度,并以分词字符为一个个统计位,并通过预设换行规则来进行换行,使得文本的排版实时根据文本框进行变化,且由于有进行分词,使得会在最佳位置进行断行,使得各行排版整齐,不会出现大量空白的状况,且在合适位置断行,不会出现不合适的断词,造成语义问题。进而,本发明解决了现有技术中的病历文本排版方法缺乏自适应性,使得排版出的文本可读性低的问题。
附图说明
图1为本发明第一实施例中的病历文本排版方法的流程图;
图2为本发明第二实施例中的病历文本排版系统的结果示意图;
图3为本发明第三实施例中的电子设备的结构示意图;
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
实施例一
请参阅图1,所示为本发明第一实施例中的病历文本排版方法,所述方法具体包括步骤S01- S03。
S01,获取输入文本所有字符的初始字符宽度,并通过预设分词规则对所述输入文本的初始字符进行分词得到分词字符;
在具体实施时,获取输入文本的所有初始字符,及所述初始字符的初始字符宽度;根据所述输入文本的初始字符通过预设分词词库得到多组预分词字符;根据所述预分词字符通过预设语法规则确定所述分词字符。具体的,在进行字符宽度检测时,待检测的字符以文字的形式存在,在浏览器将文字渲染到屏幕之前,可以通过浏览器的API访问到待渲染的字符的初始字符宽度。然后再通过预设分词词库进行分词,分词词库通常通过智能分词算法进行分词,分词词库根据多套常用的包含多种语言的单词库,将一组连续输入的字符进行分词,主要用来判断连续英文字符或者其他非中文的字符是否是一个单词,由于分词词库可能出现将一个英文单词或其他非中文词汇拆分为多个词汇的状况,因此需要再通过语法规则对分词进而二次校正,选出正确的分词字符。
S02,获取所述输入文本的渲染数据,并根据所述渲染数据、所述初始字符宽度和所述分词字符通过预设算法得到所述分词字符渲染后的显示字符宽度;
具体的,渲染数据至少包括字符的字体种类、字符的字号和是否加粗等,由于最后文本宽显示的是渲染后的字符,因此进行排版时需要先确定渲染后各个字符的显示字符宽度,进而先通过直接调取查阅确定字符的初始字符宽度,再根据渲染数据,通过预设算法可以确定渲染后的各个字符的字符宽度,以便于后续的字符排版。
S03,获取文本框宽度,并根据所述文本框宽度、所述分词字符和所述显示字符宽度通过预设换行规则进行断行,再在文本框内输出断行并渲染后的所述输入文本;
在具体实施时,依次读取所述输入文本的所述分词字符,并统计所述分词字符的显示字符宽度求和得到单行字符宽度值;将所述单行字符宽度值与所述文本框宽度进行比较;若所述单行字符宽度值小于所述文本框宽度,则继续从所述输入文本中读取下一个分词字符,并统计所述单行字符宽度值,直到所述单行字符宽度值大于或等于所述文本框宽度;若所述单行字符宽度值等于所述文本框宽度则根据第一换行规则进行断行;若所述单行字符宽度值大于所述文本框宽度则根据第二换行规则进行断行;在文本断行后,将所述单行字符宽度值清零,继续从剩余文本依次读取所述分词字符,并统计新的所述单行字符宽度值,再根据所述单行字符宽度值和所述文本框宽度对剩余文本进行断行,直至读取的分词字符为空。先依据字符宽度对单行的字符进行排版,直到单行的字符宽度大于等于文本框宽度,再根据分词字符,单行字符宽度值通过预设换行规则,判断单行尾端的断行位置,以保证各行的单行字符宽度值适当,且断行不会产生语义问题,此外是实时根据文本框宽度进行排版的,因此会随着文本框大小进行排版变化。此外,所述分词字符至少包括非连续文字字符、连续文字字符和符号字符,所述连续文字字符由多个连续排版的字母字符组成。
另外的,若所述单行字符宽度值等于所述文本框宽度,则判断下一个预读取的预读分词字符的字符类型;若所述预读分词字符的字符类型不为符号字符,则在所述预读分词字符之前进行断行;若所述预读分词字符的字符类型为符号字符,则判断所述预读分词字符之前一个所述分词字符的字符类型;若所述分词字符的字符类型为非连续文字字符,则在所述非连续文字字符之前进行断行;若所述分词字符的字符类型为连续文字字符,则在所述连续文字字符的最后一个所述字母字符之前增设一个连接符号字符,并在所述连接符号字符之后进行断行;若所述分词字符的字符类型为符号字符,则在所述预读分词字符后进行断行,并根据目前读取的输入文本通过预设语义算法删除所述分词字符或所述预读分词字符。
进一步的,若所述单行字符宽度值大于所述文本框宽度,则将倒数第一个所述分词字符定义为第一分词字符,并判断所述第一分词字符的字符类型;若所述第一分词字符的字符类型为非连续文字字符,则在所述第一分词字符之前进行断行;
若所述第一分词字符的字符类型为符号字符,则将倒数第二个所述分词字符定义为第二分词字符,并判断所述第二分词字符的字符类型,若所述第二分词字符的字符类型为非连续文字字符则在所述第二分词字符之前进行断行,若所述第二分词字符的字符类型为连续文字字符,则在所述连续文字字符的最后一个所述字母字符之前增设一个连接符号字符,并在所述连接符号字符之后进行断行,若所述第二分词字符的字符类型为符号字符,则在所述第一分词字符后进行断行,并根据目前读取的输入文本通过预设语义算法删除所述第一分词字符或所述第二分词字符;
若所述第一分词字符的字符类型为连续文字字符,则将所述第一分词字符拆分为多个连续排布所述字母字符,并删除所述第一分词字符且依次读取组成所述第一分词字符的所述字母字符,直到所述单行字符宽度值大于或等于所述文本框宽度,若所述单行字符宽度值等于所述文本框宽度,则在倒数第一个所述字母字符之前增设一个连接符号字符,并在所述连接符号字符之后进行断行,若所述单行字符宽度值大于所述文本框宽度,则在倒数第二个所述字母字符之前增设一个连接符号字符,并在所述连接符号字符之后进行断行。为了避免符号字符出现的各行首端的情况,影响观看,因此经过规则判断自适应调整断行位置,避免该情况出现,此外增设连接符号可以采用“-”符号,以保证被分成两断的非中文字符的连贯性,进而保证文本的可读性。
需要说明的,在断行完成后,每行的单行字符宽度值均小于或等于文本框宽度,为了使得文本框内文字排版更加美观,因此在文本断行后渲染输出前,还需要将除最后一行外,其他行字符位置通过预设对齐规则进行调整,使得每行两端的字符对齐,各个行内的分词字符间距分别相同。
综上,本发明上述实施例中的病历文本排版方法,通过预设分词规则对输入文本的初始字符进行分词得到分词字符,并获取了分词字符的初始字符宽度,再根据渲染数据和预设算法得到分词字符渲染后的显示字符宽度,然后实时获取文本框宽度,并以分词字符为一个个统计位,并通过预设换行规则来进行换行,使得文本的排版实时根据文本框进行变化,且由于有进行分词,使得会在最佳位置进行断行,使得各行排版整齐,不会出现大量空白的状况,且在合适位置断行,不会出现不合适的断词,造成语义问题。进而,本发明解决了现有技术中的病历文本排版方法缺乏自适应性,使得排版出的文本可读性低的问题。
实施例二
请参阅图2,所示为本发明第二实施例当中提出的病历文本排版系统的结构框图,该病历文本排版系统200包括:分词确定模块21、字符宽度确定模块22、以及自动换行模块23,其中:
分词确定模块21,用于获取输入文本所有字符的初始字符宽度,并通过预设分词规则对所述输入文本的初始字符进行分词得到分词字符;
字符宽度确定模块22,用于获取所述输入文本的渲染数据,并根据所述渲染数据、所述初始字符宽度和所述分词字符通过预设算法得到所述分词字符渲染后的显示字符宽度;
自动换行模块23,用于获取文本框宽度,并根据所述文本框宽度、所述分词字符和所述显示字符宽度通过预设换行规则进行断行,再在文本框内输出断行并渲染后的所述输入文本;
进一步的,在本发明其它实施例当中,所述病历文本排版系统200包括:
调整模块,用于选取所述文本框中除最后一行外的输出文本,并根据预设对齐规则使所述输出文本两端对齐,且各行所述输出文本中的所述分词字符间距分别相同。
进一步的,所述分词确定模块21包括:
初始字符确定单元,用于获取输入文本的所有初始字符,及所述初始字符的初始字符宽度;
预分词字符确定单元,用于根据所述输入文本的初始字符通过预设分词词库得到多组预分词字符;
分词字符确定单元,用于根据所述预分词字符通过预设语法规则确定所述分词字符。
进一步的,在本发明其它实施例当中,所述自动换行模块23包括:
统计单元,用于依次读取所述输入文本的所述分词字符,并统计所述分词字符的显示字符宽度求和得到单行字符宽度值;
比较单元,用于将所述单行字符宽度值与所述文本框宽度进行比较;
第一断行单元,用于当所述单行字符宽度值小于所述文本框宽度,则继续从所述输入文本中读取下一个分词字符,并统计所述单行字符宽度值,直到所述单行字符宽度值大于或等于所述文本框宽度;
第二断行单元,用于当所述单行字符宽度值等于所述文本框宽度则根据第一换行规则进行断行;
第三断行单元,用于当所述单行字符宽度值大于所述文本框宽度则根据第二换行规则进行断行;
重复单元,用于在文本断行后,将所述单行字符宽度值清零,继续从剩余文本依次读取所述分词字符,并统计新的所述单行字符宽度值,再根据所述单行字符宽度值和所述文本框宽度对剩余文本进行断行,直至读取的分词字符为空。
进一步的,所述分词字符至少包括非连续文字字符、连续文字字符和符号字符,所述连续文字字符由多个连续排版的字母字符组成,所述第二断行单元包括:
第一判断子单元,用于当所述单行字符宽度值等于所述文本框宽度,则判断下一个预读取的预读分词字符的字符类型;
第一断行执行子单元,用于当所述预读分词字符的字符类型不为符号字符,则在所述预读分词字符之前进行断行;当所述预读分词字符的字符类型为符号字符,则判断所述预读分词字符之前一个所述分词字符的字符类型;当所述分词字符的字符类型为非连续文字字符,则在所述非连续文字字符之前进行断行;当所述分词字符的字符类型为连续文字字符,则在所述连续文字字符的最后一个所述字母字符之前增设一个连接符号字符,并在所述连接符号字符之后进行断行,当所述分词字符的字符类型为符号字符,则在所述预读分词字符后进行断行,并根据目前读取的输入文本通过预设语义算法删除所述分词字符或所述预读分词字符。
进一步的,所述第三断行单元包括:
第二判断子单元,用于若所述单行字符宽度值大于所述文本框宽度,则将倒数第一个所述分词字符定义为第一分词字符,并判断所述第一分词字符的字符类型;
第二断行执行子单元,用于当所述第一分词字符的字符类型为非连续文字字符,则在所述第一分词字符之前进行断行;当所述第一分词字符的字符类型为符号字符,则将倒数第二个所述分词字符定义为第二分词字符,并判断所述第二分词字符的字符类型,若所述第二分词字符的字符类型为非连续文字字符则在所述第二分词字符之前进行断行,若所述第二分词字符的字符类型为连续文字字符,则在所述连续文字字符的最后一个所述字母字符之前增设一个连接符号字符,并在所述连接符号字符之后进行断行;当所述第一分词字符的字符类型为连续文字字符,则将所述第一分词字符拆分为多个连续排布所述字母字符,并删除所述第一分词字符且依次读取组成所述第一分词字符的所述字母字符,直到所述单行字符宽度值大于或等于所述文本框宽度,若所述单行字符宽度值等于所述文本框宽度,则在倒数第一个所述字母字符之前增设一个连接符号字符,并在所述连接符号字符之后进行断行,若所述单行字符宽度值大于所述文本框宽度,则在倒数第二个所述字母字符之前增设一个连接符号字符,并在所述连接符号字符之后进行断行。
上述各模块被执行时所实现的功能或操作步骤与上述方法实施例大体相同,在此不再赘述。
实施例三
本发明另一方面还提出一种电子设备,请参阅图3,所示为本发明第三实施例当中的电子设备的示意图,包括存储器20、处理器10以及存储在存储器上并可在处理器上运行的计算机程序30,所述处理器10执行所述计算机程序30时实现如上述的病历文本排版方法。
其中,处理器10在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器20中存储的程序代码或处理数据,例如执行访问限制程序等。
其中,存储器20至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器20在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的硬盘。存储器20在另一些实施例中也可以是电子设备的外部存储装置,例如电子设备上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(FlashCard)等。进一步地,存储器20还可以既包括电子设备的内部存储单元也包括外部存储装置。存储器20不仅可以用于存储电子设备的应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。
需要指出的是,图3示出的结构并不构成对电子设备的限定,在其它实施例当中,该电子设备可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的病历文本排版方法。
本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (7)

1.一种病历文本排版方法,其特征在于,所述方法包括:
获取输入文本所有字符的初始字符宽度,并通过预设分词规则对所述输入文本的初始字符进行分词得到分词字符;
获取所述输入文本的渲染数据,并根据所述渲染数据、所述初始字符宽度和所述分词字符通过预设算法得到所述分词字符渲染后的显示字符宽度;
获取文本框宽度,并根据所述文本框宽度、所述分词字符和所述显示字符宽度通过预设换行规则进行断行,再在文本框内输出断行并渲染后的所述输入文本;
所述获取文本框宽度,并根据所述文本框宽度、所述分词字符和所述显示字符宽度通过预设换行规则进行断行的步骤包括:
依次读取所述输入文本的所述分词字符,并统计所述分词字符的显示字符宽度求和得到单行字符宽度值;
将所述单行字符宽度值与所述文本框宽度进行比较;
若所述单行字符宽度值小于所述文本框宽度,则继续从所述输入文本中读取下一个分词字符,并统计所述单行字符宽度值,直到所述单行字符宽度值大于或等于所述文本框宽度;
若所述单行字符宽度值等于所述文本框宽度则根据第一换行规则进行断行;
若所述单行字符宽度值大于所述文本框宽度则根据第二换行规则进行断行;
在文本断行后,将所述单行字符宽度值清零,继续从剩余文本依次读取所述分词字符,并统计新的所述单行字符宽度值,再根据所述单行字符宽度值和所述文本框宽度对剩余文本进行断行,直至读取的分词字符为空;
所述分词字符至少包括非连续文字字符、连续文字字符和符号字符,所述连续文字字符由多个连续排版的字母字符组成;
所述若所述单行字符宽度值等于所述文本框宽度则根据第一换行规则进行断行的步骤包括:
若所述单行字符宽度值等于所述文本框宽度,则判断下一个预读取的预读分词字符的字符类型;
若所述预读分词字符的字符类型不为符号字符,则在所述预读分词字符之前进行断行;
若所述预读分词字符的字符类型为符号字符,则判断所述预读分词字符之前一个所述分词字符的字符类型;
若所述分词字符的字符类型为非连续文字字符,则在所述非连续文字字符之前进行断行;
若所述分词字符的字符类型为连续文字字符,则在所述连续文字字符的最后一个所述字母字符之前增设一个连接符号字符,并在所述连接符号字符之后进行断行;
所述若所述单行字符宽度值大于所述文本框宽度则根据第二换行规则进行断行的步骤包括:
若所述单行字符宽度值大于所述文本框宽度,则将倒数第一个所述分词字符定义为第一分词字符,并判断所述第一分词字符的字符类型;
若所述第一分词字符的字符类型为非连续文字字符,则在所述第一分词字符之前进行断行;
若所述第一分词字符的字符类型为符号字符,则将倒数第二个所述分词字符定义为第二分词字符,并判断所述第二分词字符的字符类型,若所述第二分词字符的字符类型为非连续文字字符则在所述第二分词字符之前进行断行,若所述第二分词字符的字符类型为连续文字字符,则在所述连续文字字符的最后一个所述字母字符之前增设一个连接符号字符,并在所述连接符号字符之后进行断行;
若所述第一分词字符的字符类型为连续文字字符,则将所述第一分词字符拆分为多个连续排布所述字母字符,并删除所述第一分词字符且依次读取组成所述第一分词字符的所述字母字符,直到所述单行字符宽度值大于或等于所述文本框宽度,若所述单行字符宽度值等于所述文本框宽度,则在倒数第一个所述字母字符之前增设一个连接符号字符,并在所述连接符号字符之后进行断行,若所述单行字符宽度值大于所述文本框宽度,则在倒数第二个所述字母字符之前增设一个连接符号字符,并在所述连接符号字符之后进行断行。
2.根据权利要求1所述的病历文本排版方法,其特征在于,所述获取输入文本所有字符的初始字符宽度,并通过预设分词规则对所述输入文本的初始字符进行分词得到分词字符的步骤包括:
获取输入文本的所有初始字符,及所述初始字符的初始字符宽度;
根据所述输入文本的初始字符通过预设分词词库得到多组预分词字符;
根据所述预分词字符通过预设语法规则确定所述分词字符。
3.根据权利要求1所述的病历文本排版方法,其特征在于,所述若所述预读分词字符的字符类型为符号字符,则判断所述预读分词字符之前一个所述分词字符的字符类型的步骤之后包括:
若所述分词字符的字符类型为符号字符,则在所述预读分词字符后进行断行,并根据目前读取的输入文本通过预设语义算法删除所述分词字符或所述预读分词字符。
4.根据权利要求1所述的病历文本排版方法,其特征在于,所述再在文本框内输出断行并渲染后的所述输入文本的步骤之后包括:
选取所述文本框中除最后一行外的输出文本,并根据预设对齐规则使所述输出文本两端对齐,且各行所述输出文本中的所述分词字符间距分别相同。
5.一种病历文本排版系统,其特征在于,用于实现如权利要求1至4中任意一项所述的病历文本排版方法,所述系统包括:
分词确定模块,用于获取输入文本所有字符的初始字符宽度,并通过预设分词规则对所述输入文本的初始字符进行分词得到分词字符;
字符宽度确定模块,用于获取所述输入文本的渲染数据,并根据所述渲染数据、所述初始字符宽度和所述分词字符通过预设算法得到所述分词字符渲染后的显示字符宽度;
自动换行模块,用于获取文本框宽度,并根据所述文本框宽度、所述分词字符和所述显示字符宽度通过预设换行规则进行断行,再在文本框内输出断行并渲染后的所述输入文本。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至4中任意一项所述的病历文本排版方法的步骤。
7.一种电子设备,其特征在于,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1-4任一所述的病历文本排版方法。
CN202311670307.8A 2023-12-07 2023-12-07 一种病历文本排版方法、系统、存储介质及电子设备 Active CN117371446B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311670307.8A CN117371446B (zh) 2023-12-07 2023-12-07 一种病历文本排版方法、系统、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311670307.8A CN117371446B (zh) 2023-12-07 2023-12-07 一种病历文本排版方法、系统、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN117371446A CN117371446A (zh) 2024-01-09
CN117371446B true CN117371446B (zh) 2024-04-16

Family

ID=89391382

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311670307.8A Active CN117371446B (zh) 2023-12-07 2023-12-07 一种病历文本排版方法、系统、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN117371446B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117875267B (zh) * 2024-03-11 2024-05-24 江西曼荼罗软件有限公司 一种汉字转拼音的方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147790A (zh) * 2011-04-15 2011-08-10 华为软件技术有限公司 文本排版方法及排版引擎
WO2016023471A1 (zh) * 2014-08-11 2016-02-18 张锐 手写输入字符的处理、数据拆分和合并及编解码处理方法
CN110968988A (zh) * 2019-12-06 2020-04-07 歌尔科技有限公司 显示处理方法、装置、电子设备及可读存储介质
CN112765506A (zh) * 2021-01-22 2021-05-07 广州优谷信息技术有限公司 一种页面文本内容显示方法、装置、设备及存储介质
CN113011129A (zh) * 2021-04-19 2021-06-22 冯春霖 一种通用doc和docx及indd文档排版引擎及方法
CN113536747A (zh) * 2021-09-14 2021-10-22 潍坊北大青鸟华光照排有限公司 一种移动设备上维吾尔文行末拆音节处理方法
CN113705190A (zh) * 2021-09-02 2021-11-26 北京字节跳动网络技术有限公司 一种文本处理方法、装置及设备
CN116933728A (zh) * 2023-07-14 2023-10-24 厦门翼逗网络科技有限公司 文本处理方法、电子设备及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147790A (zh) * 2011-04-15 2011-08-10 华为软件技术有限公司 文本排版方法及排版引擎
WO2016023471A1 (zh) * 2014-08-11 2016-02-18 张锐 手写输入字符的处理、数据拆分和合并及编解码处理方法
CN106575166A (zh) * 2014-08-11 2017-04-19 张锐 手写输入字符的处理、数据拆分和合并及编解码处理方法
CN110968988A (zh) * 2019-12-06 2020-04-07 歌尔科技有限公司 显示处理方法、装置、电子设备及可读存储介质
CN112765506A (zh) * 2021-01-22 2021-05-07 广州优谷信息技术有限公司 一种页面文本内容显示方法、装置、设备及存储介质
CN113011129A (zh) * 2021-04-19 2021-06-22 冯春霖 一种通用doc和docx及indd文档排版引擎及方法
CN113705190A (zh) * 2021-09-02 2021-11-26 北京字节跳动网络技术有限公司 一种文本处理方法、装置及设备
CN113536747A (zh) * 2021-09-14 2021-10-22 潍坊北大青鸟华光照排有限公司 一种移动设备上维吾尔文行末拆音节处理方法
CN116933728A (zh) * 2023-07-14 2023-10-24 厦门翼逗网络科技有限公司 文本处理方法、电子设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Segmentation of unconstrained handwritten numeral strings using continuation property;Yoon, S等;《DOCUMENT RECOGNITION AND RETRIEVAL VIII》;20010101;全文 *
Web服务器端藏文字符串长度的近似算法;杨成甫;贾彦民;吴健;;计算机工程与设计;20070316(05);全文 *
一种支持多语言文本布局方向的文档处理模型;贾彦民;《中文信息学报》;20070130;全文 *

Also Published As

Publication number Publication date
CN117371446A (zh) 2024-01-09

Similar Documents

Publication Publication Date Title
US7293229B2 (en) Ensuring proper rendering order of bidirectionally rendered text
US8442324B2 (en) Method and system for displaying image based on text in image
CN117371446B (zh) 一种病历文本排版方法、系统、存储介质及电子设备
CN100440222C (zh) 用于文本易读性增强的系统和方法
US8401293B2 (en) Word recognition of text undergoing an OCR process
US20130290270A1 (en) Method and system of data extraction from a portable document format file
FI20176151A1 (en) A heuristic method for analyzing the contents of an electronic document
CN109948518B (zh) 一种基于神经网络的pdf文档内容文本段落聚合的方法
CN113642584A (zh) 文字识别方法、装置、设备、存储介质和智能词典笔
US11829710B2 (en) Deriving global intent from a composite document to facilitate editing of the composite document
JP7493937B2 (ja) 文書における見出しのシーケンスの識別方法、プログラム及びシステム
CN109783810A (zh) 一种文本处理方法、装置及计算机可读存储介质
US9218327B2 (en) Optimizing the layout of electronic documents by reducing presentation size of content within document sections so that when combined a plurality of document sections fit within a page
EP2191396A2 (en) An apparatus for preparing a display document for analysis
US20130322759A1 (en) Method and device for identifying font
CN114118070A (zh) 文档目录生成方法及装置、电子设备和介质
CN113435449A (zh) 基于深度学习的ocr图像文字识别与段落输出方法
CN115270723A (zh) Pdf文档拆分方法、装置、设备及存储介质
CN112784536B (zh) 数学应用题解答模型的处理方法、系统和存储介质
CN112699634B (zh) 电子书的排版处理方法、电子设备及存储介质
CN112765506B (zh) 一种页面文本内容显示方法、装置、设备及存储介质
CN114386407A (zh) 文本的分词方法及装置
CN102099806A (zh) 信息输出装置、信息输出方法和记录介质
CN110990551B (zh) 文本内容的处理方法、装置、设备以及存储介质
CN109828814B (zh) 获取屏幕表单数据的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant