KR20080100179A - 벡터 그래픽 문서 내 리스트 인식 방법, 벡터 그래픽 문서해석 방법 및 컴퓨터 판독가능 매체 - Google Patents

벡터 그래픽 문서 내 리스트 인식 방법, 벡터 그래픽 문서해석 방법 및 컴퓨터 판독가능 매체 Download PDF

Info

Publication number
KR20080100179A
KR20080100179A KR1020087018973A KR20087018973A KR20080100179A KR 20080100179 A KR20080100179 A KR 20080100179A KR 1020087018973 A KR1020087018973 A KR 1020087018973A KR 20087018973 A KR20087018973 A KR 20087018973A KR 20080100179 A KR20080100179 A KR 20080100179A
Authority
KR
South Korea
Prior art keywords
list
document
format
vector graphics
lists
Prior art date
Application number
KR1020087018973A
Other languages
English (en)
Inventor
아흐메트 구르칸
에릭 에스. 리스
제프리 지. 브라운
제리 제이. 더니에츠
제시 디. 맥가타
칼레드 에스. 세드키
밍 리우
올리버 에이치. 포에
로드리고 로페즈
Original Assignee
마이크로소프트 코포레이션
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 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20080100179A publication Critical patent/KR20080100179A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing

Abstract

다양한 기술들과 기법들은 벡터 그래픽 기반 문서 내의 리스트들을 검출하고 그 리스트들을 의미 있게 사용한다. 본 시스템은 규칙들의 집합을 이용하여, 벡터 그래픽 기반 문서 내의 적어도 하나의 리스트를 검출한다. 패턴 검출 로직은 리스트의 시작부를 이룰 수 있는 캐릭터들, 심볼들, 숫자들, 문자들 및/또는 이미지들을 식별한다. 추가적인 패턴 검출 로직은 리스트가 존재하는지 여부에 대한 결정을 내린다. 본 시스템은 불릿형 리스트들, 넘버형 또는 문자형 리스트들, 그리고 두 가지 형식의 임의의 조합인 중첩된 리스트들을 식별하고 분석한다. 식별되고나면, 상기 내용들은 수정된 포맷으로 변환된다. 그 내용들은 목적지 어플리케이션에 의한 사용과 출력에 더 알맞게 수정된 포맷으로 목적지 어플리케이션에 출력될 수 있다.
벡터 그래픽 기반 문서. 리스트. 패턴검출 로직

Description

벡터 그래픽 문서 내 리스트 인식 방법, 벡터 그래픽 문서 해석 방법 및 컴퓨터 판독가능 매체 {DETECTION OF LISTS IN VECTOR GRAPHICS DOCUMENTS}
PDF(portable document format)같은 벡터 그래픽 기반 문서 교환 포맷들은, 그 내용을 생성한 원본 소프트웨어 어플리케이션을 사용자의 컴퓨터에 설치할 필요 없이, 사용자에게 표준화된 방식으로 문서를 해석하고 디스플레이하도록 허용하는 렌더링 명령어들의 집합을 제공한다. 마이크로소프트사는 XML 컨텐츠를 의미 있고 표준화된 방식으로 렌더링하기 위해 벡터 그래픽 기반 문서 포맷 같은 XML 문서 규격(XPS)을 만들었다. 벡터 그래픽 기반 문서들이 가진 한 가지 문제점은 "보기 어플리케이션(viewing application)"이 문서를 정확히 렌더링하는 방법 외에 어느 특정한 문서의 실질적인 내용을 거의 모른다는 것이다. 예를 들면, "보기 어플리케이션"은 문서의 내용이 하나 이상의 불릿형 리스트(bulleted list) 또는 넘버형 리스트(numbered list)를 포함하고 있는지 여부를 가려내지 못할 수 있다.
리스트들은 단순한 텍스트보다 더 쉽게 읽고 이해할 수 있는 방법들을 사용하여 정보를 전달할 수 있다. 문서들을 목적지 프로그램에서 사용되는 최종 사용자 친화적인 포맷으로 변환할 시, 벡터 그래픽 기반 문서 내 리스트들은 특정한 문제들을 수반한다. "보기 어플리케이션"은 리스트들을 어떻게 그려야 하는가에 대한 정보들을 가지고 있지만, 자신이 지금 그리고 있는 것이 리스트인지를 표시하는 어떤 정보를 반드시 가지고 있지는 않기 때문에, "보기 어플리케이션"은 사용자에게 의미있는 방식으로 리스트를 읽거나 복사하는 능력에 제한을 받을 수 있다. 잠재적으로 중첩된 리스트들(nested lists), 즉 리스트들 내의 리스트들이 존재하는 것으로 인해, 리스트들을 의미있게 만드는 것은 복잡한 과정이다. 1, 2, 3으로 번호가 매겨진 메인 리스트를 예로 들어 보자. 항목 1은 그 하위에 a, b, c로 번호가 매겨진 항목들을 포함한다고 가정하자. 소문자로 명기된 리스트 내에, "a"는 항목 1) 및 2) - 실질적으로 세번째 리스트를 포함한다. 이러한 예에서 보여지듯이, 프로그래밍 관점에서 본다면, 실제로 이 리스트는 세 개의 리스트들로 구성되어 있다.
<발명의 개요>
벡터 그래픽 기반(XML 기반 포함) 문서 내의 리스트를 검출하고, 그 리스트를 의미있는 방식으로 렌더링할 수 있게 해주는 다양한 기술과 기법들이 개시된다. 불릿형 리스트들뿐만이 아니라 넘버형 리스트들은 규칙들의 집합에 기초하여 식별될 수 있다. 개시된 하나 이상의 기술들과 기법들은 패턴의 검출과 구별에 의해서 리스트들을 식별한다. 이는 리스트의 시작점이 될 수 있는 캐릭터들(characters), 심볼들, 숫자들, 문자들(letters), 및/또는 이미지들을 검색하는 것을 포함한다. 본 기술은 이것이 리스트의 시작을 의미하는지를 판단한다. 리스트의 존재 여부를 결정하기 위해 연속된 라인들에서 패턴이 검색된다. 더욱이, 중첩된 리스트들의 식별과 검색을 위한 로직이 사용된다. 한 예로, 이 기술은 넘버형 리스트가 중첩된 불릿형 리스트 혹은 그 반대의 경우도 식별 가능하지만 이에 한정되지는 않는 다. 시스템은 목적지 어플리케이션에서의 사용과 출력에 더 적합하도록 변환된 포맷의 내용이 최종 목적지 어플리케이션들로 출력되도록 허용한다. 대안적으로 또는 추가적으로, 리스트들은 입력을 이해하고 음성 출력 기술을 사용하여 적절한 가청음을 이용하여 리스트를 표시하는 스크린 리더에게 인식되고 변환된다.
본 개요는 하기 "발명의 상세한 설명"에서 자세히 소개되는 개념들의 선택을 간략히 소개하기 위해 제공되었다. 본 개요는 주요 특징이나 본질적인 청구 내용의 특징을 식별키 위해 만들어지지 않았으며, 청구 내용의 범주를 결정하는 데 도움을 주기 위해 사용되도록 만들어지지도 않았다.
도 1은 일 구현의 컴퓨터 시스템의 개략도이다.
도 2는 일 구현의 도 1의 컴퓨터 시스템 상에서 동작하는 리스트 해결 프로그램의 개략도이다.
도 3은 도 1의 시스템의 일 구현을 위한 하이레벨 프로세스 흐름도이다.
도 4는 벡터 그래픽 컨텐츠로부터 불릿형 리스트를 검출하고 렌더링하기 위해 관여된 단계들을 설명하는 도 1의 시스템의 일 구현을 위한 프로세스 흐름도이다.
도 5는 벡터 그래픽 컨텐츠로부터 넘버형 또는 문자형 리스트를 검출하고 렌더링하기 위해 관여된 사용자 선택과 단계를 설명하는 도 1의 시스템의 일 구현을 위한 프로세스 흐름도이다.
도 6은 중첩된 리스트의 검출과 렌더링에 관여된 단계들을 설명하는 도 1의 시스템의 일 구현을 위한 프로세스 흐름도이다.
도 7은 벡터 그래픽 기반 문서로부터 목적지 어플리케이션으로 복사 및 붙여넣기하는 프로세스와 목적지 어플리케이션 내에 리스트를 렌더링하는 프로세스를 설명하는 도 1의 시스템의 일 구현을 위한 프로세스 흐름도이다.
도 8은 리스트를 지정하는 XML 포맷으로 된 벡터 그래픽 문서의 부분을 설명하는, 도 1의 시스템의 일 구현에 대한 도면이다.
도 9는 리스트들을 포함하는 도 8의 XML 코드가 문서 렌더링 유틸리티에 의해 어떻게 시각화되었는지를 보여주는 도 1의 시스템의 일 구현의 모의 스크린이다.
도 10은 다른 문서 포맷을 사용하는 다른 어플리케이션에 복사된 이후, 도 8의 XML 리스트 내용이 어떻게 렌더링되는지 보여주는 도 1의 시스템의 일 구현의 모의 스크린이다.
도 11은 리스트의 가청 출력을 렌더링하는 스크린 리더를 설명하는 도 1의 시스템의 일 구현의 흐름도이다.
본 발명의 원리들에 대한 이해를 증진시키려는 목적으로, 이하에서는 도면에 도시된 실시예들이 참조될 것이고, 그것을 설명하기 위해 특정 언어가 사용될 것이다. 그럼에도 불구하고, 범주에 대한 아무런 제한이 없는 것으로 이해되어질 것이다. 일반적으로, 당업자라면 기술된 실시예에 있어서의 어떤 변경이나 추가적인 수정, 그리고 여기서 소개된 원리들의 임의의 다른 응용을 생각해낼 수 있을 것으로 예상된다.
본 시스템은 XPS 문서나 다른 벡터 그래픽 기반 문서 포맷들에 주어진 렌더링 명령어들을 바탕으로 하여 리스트 항목들과 리스트들을 검출하기 위해 사용되는 어플리케이션으로서의 일반적인 컨텍스트로 설명될 수 있지만, 본 시스템은 이 외에도 다른 목적으로도 사용된다. 여기에서 소개된 하나 이상의 기법들은 MICROSOFT® Office Word, MICROSOFT® Office POWERPOINT®, Adobe Acrobat, XPS 뷰어 같은 소프트웨어 프로그램들의 특징(feature)들로서 구현될 수 있고, 혹은 리스트들을 생성할 수 있게 하거나 사용할 수 있는 다른 타입의 프로그램이나 서비스로부터도 구현될 수 있다. 본문에서 추후에 상세하게 기술되어지는 것처럼, 시스템의 일 구현에 있어서, 리스트들은 목적지 문서들 내에서 사용되는 포맷으로 인식되고 변환될 수 있다. 또 다른 구현에서, 리스트들은 리스트를 식별하는 적절한 가청음을 생성하고, 리스트 내 텍스트를 읽고, 듣는 사람에게 리스트의 순서를 설명하는 음성 출력 기술을 이용하고 입력을 이해하는 스크린 리더에게 인식되고 변환될 수 있다.
도 1에서 보여진 것처럼, 본 시스템의 하나 이상의 부분들의 구현을 위해 사용되는 대표적인 컴퓨터 시스템은 컴퓨팅 장치(100)와 같은 컴퓨팅 장치를 포함한다. 가장 기본적인 구성에 있어서, 컴퓨팅 장치(100)는 전형적으로 적어도 하나의 프로세싱 유닛(102)과 메모리(104)를 포함한다. 컴퓨팅 장치의 정확한 타입과 구성에 따라, 메모리(104)는 휘발성(예를 들어, RAM), 비휘발성(예를 들어, ROM, 플래시 메모리 등) 또는 그 두 타입의 소정의 조합이 될 수 있다. 이러한 가장 기본적인 구성은 도 1에서 점선(106)으로서 도시되었다.
추가적으로, 장치(100)는 부가 기능과 특징들을 가지고 있을 수 있다. 예를 들면, 장치(100)는 자기나 광학 디스크 또는 테이프(이동식 혹은 비이동식)를 포함하지만 이에 한정되지는 않는 부가적인 저장장치를 포함할 수 있다. 이러한 부가 저장장치는 도 1에서 이동식 저장장치(108)와 비이동식 저장장치(110)로 도시된다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어들, 데이타 구조들, 프로그램 모듈들 및 다른 데이타와 같은 정보저장을 위한 어떤 방식이나 기술로 구현된 휘발성 및 비휘발성, 이동식 또는 비이동식 매체를 포함한다. 메모리(104), 이동식 저장장치(108) 및 비이동식 저장장치(110)는 모두 컴퓨터 저장 매체의 예시들이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 혹은 다른 메모리 기술, CD-ROM, 다목적 디지털 디스크(DVD) 혹은 다른 광학 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 혹은 다른 자기 저장 장치들, 또는 장치(100)로부터 액세스될 수 있고 원하는 정보를 저장하기 위해 사용될 수 있는 다른 매체를 포함하지만 이에 한정되지는 않는다. 임의의 그러한 컴퓨터 저장 매체는 장치(100)의 일부일 수 있다.
컴퓨팅 장치(100)는 컴퓨팅 장치(100)로 하여금 XPS 문서 또는 다른 벡터 그래픽 기반 문서들과 같은 하나 이상의 문서들(115)과 통신하도록 허용하는 하나 이상의 통신 연결(114)을 포함한다. 컴퓨팅 장치(100)는 하나 이상의 컴퓨터들 및/또는 어플리케이션들(113)과도 통신할 수 있다. 장치(100)는 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등과 같은 입력 장치들을 보유할 수 있다. 디스플레이, 스피커들, 프린터, 스크린 리더 등과 같은 출력 장치(들)(111)도 역시 포함될 수 있다. 이러한 장치들은 본 기술 분야에 잘 알려져 있으며, 본문에서 길게 설명될 필요는 없다.
이제 도 1에 연결되는 참조로서 도 2를 보면, 컴퓨팅 장치(100) 상에서 동작하는 리스트 인식 어플리케이션(200)이 도시된다. 리스트 인식 어플리케이션(200)은 컴퓨터 장치(100)에 있는 어플리케이션 프로그램 중 하나이다. 대안으로서나 추가적으로나, 리스트 인식 어플리케이션(200)의 하나 이상의 부분은 다른 컴퓨터들 및/또는 어플리케이션들(113) 상에 있는 시스템 메모리(104)의 일부이거나, 컴퓨터 소프트웨어 기술 분야에 있는 자가 생각해 낼 수 있는 이러한 종류의 다른 변형일 수 있다.
리스트 인식 어플리케이션(200)은 여기에서 설명된 기술의 일부 또는 전부의 실행을 담당하는 프로그램 로직(204)을 포함한다. 프로그램 로직(204)은 불릿형 또는 넘버형 리스트(206)를 검출하고, 리스트(208) 내 중첩된 리스트를 검출하기 위한 재귀 알고리즘을 적용시키기 위한 로직을 포함한다. 프로그램 로직(204)은 파일, 디스플레이 장치, 스크린 리더 및/또는 다른 어플리케이션으로의 출력 또는 사용(210)에 더 적합한 수정된 포맷으로 리스트(들)의 내용을 디스플레이하거나 출력하기 위한 로직을 포함한다. 프로그램 로직(220)은 어플리케이션 실행을 위한 다른 로직들을 포함한다. 일 구현에서, 프로그램 로직(204)은 프로그램 로직(204) 내 프로시져에 대한 단독 호출을 사용하는 것과 같이 다른 프로그램으로부터 프로그램적으로 호출되도록 동작될 수 있다.
일 구현에서, 프로그램 로직(204)은 컴퓨터 장치(100)에 상주한다. 반면, 대안적으로 혹은 추가적으로, 프로그램 로직(204)은 하나 이상의 컴퓨터들 및/또는 다른 변형들 상에서의 컴퓨터 실행가능 명령어들로서 구현될 수 있다. 제한적이지 않은 예로, 대안적으로 혹은 추가적으로, 프로그램 로직(204)의 하나 이상의 부분은 필요할 때 호출되는 웹 기반 어플리케이션으로서 구현될 수 있다.
도 1-2에 연속되는 참조로서 도 3을 보면, 리스트 인식 어플리케이션(200)의 하나 이상의 구현들의 실현 단계들이 구체적으로 설명되고 있다. 도 3은 리스트 인식 어플리케이션(200)의 하이레벨 흐름도이다. 한 형태에서, 도 3의 프로세스는 컴퓨팅 장치(100)의 운영 로직 내에 적어도 부분적으로 구현되어 있다. 리스트 인식 어플리케이션(200)이 본 명세서의 일부 구현들에서 XPS 문서나 그와 비슷한 XML 기반 문서 포맷 내의 리스트를 인식하는 것으로 기술된 반면, 다른 구현들에서의 리스트 인식 어플리케이션(200)은 벡터 그래픽을 활용하는 문서 포맷의 어떤 타입과도 동작한다고 이해될 것이다. 본 명세서에서 사용된 벡터 그래픽 기반 문서라는 용어는 텍스트, 라인, 및/또는 채워진 모양(filled shape)을 생성하는 명령어와 같이, 출력 장치 상에서 문서를 렌더링하기 위한 명령어들을 포함하는 어떤 형식의 문서라도 포함하도록 의미지어져 있다. 또 다른 제한적이지 않은 예로, 렌더링 명령어들은 불릿형 및/또는 넘버형 리스트 항목들의 내용 및/또는 위치에 관한 세세한 것들을 제공하는 리스트 렌더링 명령어들을 포함한다.
도 3의 프로시져는 시작지점(240)에서 시작되어 XPS 문서나 비슷한 XML 기반 문서와 같은 벡터 그래픽 기반 문서의 부분(한 페이지) 혹은 전체에 액세스하기 위해, 프로그램 혹은 사용자로부터의 프로그램적인 선택을 수신한다(단계(242)). 어떻게 선택이 수신되는지에 관한 제한적이지 않은 소정의 예들은 사용자에 의해 열린 파일이나 사용자에 의해 어플리케이션에 붙여 넣어진 텍스트를 포함한다. 일 구현에서, 본 시스템은 벡터 그래픽 기반 문서를 읽고(단계(244)), 하나 이상의 리스트들이 존재하는지 결정(단계(246))하기 위해 프로그램 로직(206)을 실행시킨다. 리스트 인식 어플리케이션(200)은 리스트를 분석(parse)(단계(248))하기 위해 프로그램 로직(206)을 실행한다. 리스트 인식 어플리케이션(200)은 파일, 스크린 리더 및/또는 다른 어플리케이션 등으로의 출력 또는 사용에 더 알맞은 수정된 포맷으로 하나 이상의 리스트들을 출력하기 위해 프로그램 로직(210)을 실행시킨다(단계(250)). 일 구현에서, 상기 수정된 포맷은 목적지 어플리케이션에서 이해될 수 있는 포맷을 포함한다. 상기 프로세스는 종료 지점(252)에서 종료된다.
도 2-3의 연속된 참조로서 도 4-5를 보면, 다양한 종류의 리스트 검출에 동반된 단계들이 설명되어 있다. 도 4는 일 구현에서 리스트 내용을 검출하는 단계들을 보여준다. 한 형태에서, 도 4의 프로세스는 컴퓨팅 장치(100)의 운영 로직 내에 적어도 부분적으로 구현된다. 프로시저는 시작지점(320)으로부터 시작되어, 프로그램적으로 또는 사용자 선택에 의해 벡터 그래픽 기반 문서를 수신한다(단계(322)). 문서 내용은 하나 이상의 불릿형 리스트들의 존재 여부를 판단키 위해 스캔된다(단계(323)).
시스템은 리스트의 시작점이 될 수도 있는 라인의 첫번째 캐릭터나 이미지를 검출한다(단계(324)). 이에 한정되지는 않지만 예를 들어 보면, 이 캐릭터는 하이픈(-), 별표(*), 부등호(>), 플러스사인(+), 아니면 불릿형 리스트의 시작을 알리는 다른 키보드 캐릭터나 이미지가 될 수 있다. 시스템은 다음 라인을 스캔하여 그 다음 라인이 동일한 캐릭터에 의해서 시작되는지를 확인함으로써, 리스트가 시작된 것인지를 결정한다(결정 지점(326)). 만약 그 다음 라인이 동일한 캐릭터에 의해 시작된다면, 두 라인들이 한 리스트 내의 항목들을 구성하는지 판단키 위한 추가적인 고려가 수반된다. 예를 들면, 고려중인 라인의 첫번째 캐릭터의 왼쪽 들여쓰기가 첫번째 라인의 첫 캐릭터와 동일하다면(결정 지점(328)), 본 시스템은 첫번째 단어에 대해 왼쪽 들여쓰기가 일치하는지 검사한다(결정 지점(332)).
일 구현에서 만일 이러한 모든 기준들이 만족된다면, 아이템은 리스트 항목으로 간주된다. 또 다른 구현에서는, 이러한 기준들의 일부 및/또는 추가적인 기준들은 항목들이 불릿 리스트 항목인지 결정키 위해 사용된다. 본 시스템은 리스트 내의 더 이상의 항목에 대해 조사를 계속 수행한다(단계(334)). 만약 리스트의 끝이 발견되지 않으면(결정 지점(336)), 상기 프로세스는 동일한 캐릭터나 이미지를 가지는 또 다른 연속된 항목을 찾는 것으로 시작하여 반복적으로 수행된다(단계(326)).
만일 본 시스템이 하나 이상의 다양한 리스트 기준들을 평가하고 그 항목이 이전 리스트의 한 부분이 아니라고 결정하면, 그 항목이 중첩된 리스트의 한 부분인지 보기 위해 검사한다(결정 지점(330)). 만약 가능한 중첩된 리스트가 검출된다면(결정 지점(330)), 상기 리스트의 기준들은 가능한 중첩된 리스트를 위해 평가될 것이다. 만일 모든 가능한 리스트들이 식별되고 문서의 끝에 다다랐다면(결정 지점(331)), 본 시스템은 그 내용을 목적지 문서 포맷으로 변경하기 위해 로직을 실행시킨고(단계(338)), 그 내용을 알맞게 디스플레이한다(단계(340)). 상기 프로세스는 종료 지점(342)에서 종료된다.
도 2-3의 연속된 참조로서 도 5를 보면, 벡터 그래픽 기반 문서 내에서 넘버형 또는 문자형(lettered) 리스트인 내용을 검출하고 분석하기 위한 단계들이 설명되어진다. 한 형식에서, 도 5의 프로세스는 컴퓨팅 장치(100)의 운영 로직 내에 적어도 부분적으로 구현된다. 프로시져는 시작 지점(370)으로부터 시작되고 시스템은 프로그램적으로 또는 사용자 선택에 의해 벡터 그래픽 기반 문서를 수신한다(단계(372)). 문서 내용은 하나 이상의 리스트들의 존재 여부를 위해 스캔된다(단계(374)). 본 시스템은 리스트의 시작점이 될 수 있는 라인의 첫번째 숫자나 문자를 검출한다(단계(376)). 이에 한정되지는 않지만 한 예로, 상기 캐릭터는 로마 숫자나 아라비아 숫자, 단독 혹은 복합 숫자, 대문자나 소문자가 될 수 있다.
본 시스템은 그 다음 라인이 동일한 캐릭터로 시작하는지 확인하기 위해 다음 라인을 스캔함으로써 리스트의 시작 여부를 검출한다(단계(378)). 만약 그렇다면, 두 라인이 리스트의 항목들을 구성하는지 여부를 판단하기 위한 추가적인 고려가 필요하다. 이에 한정되지는 않지만, 이러한 고려사항은 숫자나 문자의 왼쪽 들여쓰기(단계(382)), 숫자나 문자 이후의 첫째 단어의 왼쪽 들여쓰기(단계(384)), 그리고 바로 다음 단어의 왼쪽 들여쓰기(단계(386))들이 양쪽 항목들에 대해 동일한지 여부를 포함한다. 일 구현에서, 만일 이러한 모든 기준들을 만족하면, 항목은 넘버형 또는 문자형 리스트 항목으로 다루어진다. 또 다른 구현에서는, 이러한 기준들의 일부가, 항목이 넘버형 또는 문자형 리스트 항목인지 여부를 결정하는 데 사용된다. 본 시스템은 리스트 내에 더 이상의 항목들이 있는지를 계속 조사한다(단계(388)). 만약 리스트의 끝이 발견되지 않는다면(결정 지점(390)), 상기 프로세스는 연속된 숫자나 문자를 갖는 연속된 다른 항목(another consecutive item with a consecutive letter or number)을 찾는 것으로 시작하여 반복된다(단계(378)).
만일 본 시스템이 하나 이상의 리스트 기준들을 평가하고 상기 항목이 이전 리스트의 부분이 아니라고 결정하면, 본 시스템은 이제 그 아이템이 중첩된 리스트의 부분인지를 검사한다(결정 지점(380)). 만일 가능한 중첩된 리스트가 검출되면(결정 지점(380)), 중첩된 리스트를 찾기 위해 위 단계들이 반복될 것이다. 모든 가능한 리스트들이 식별되고 문서의 끝에 도달하고나면(결정 지점(391)), 본 시스템은 그 내용을 목적지 문서의 포맷으로 변환하기 위한 로직을 실행하고(단계(392)), 그 내용들을 알맞게 디스플레이한다(단계(394)). 프로세스는 종료 지점(396)에서 종료된다.
앞서 다루어졌듯이, 일 구현에서 본 시스템은 중첩된 리스트들을 검출할 수 있다. 이에 한정되지는 않지만 한 예로, 본 시스템은 넘버형 또는 문자형 리스트 내에서 불릿형 리스트를 검출할 수 있을 뿐만 아니라, 넘버형 또는 문자형 리스트 내에서 넘버형 또는 문자형 리스트도 검출할 수 있다. 도 6은 중첩된 리스트의 검출 및 올바른 디스플레이에 수반되는 하나 이상의 단계들을 설명하는 일 구현에 대한 프로세스 흐름도이다. 한 형태에서, 도 6의 프로세스는 컴퓨팅 장치(100)의 운영 로직에서 적어도 부분적으로 구현된다. 한 구현에서, 이 프로세스는 다른 리스트들 내의 여러 레벨들에서 존재하는 임의의 개수의 중첩된 리스트들을 식별할 수 있다. 이 프로세스는 시작 지점(410)에서 시작되고, 시스템은 리스트의 존재(단계(412)) 및 첫번째 리스트 항목의 시작(단계(414))을 인식한다. 본 시스템은 첫번째 항목이 이전에 인식된 리스트의 연속이 아니라 중첩된 리스트의 첫번째 항목일 수 있다고 인식한다(단계(416)). 다음 라인들을 검사하여 그 다음 라인이 중첩된 리스트의 부분인지 확인하기 위해 규칙들이 적용된다. 이러한 규칙들은 한정적이진 않지만 다음을 포함한다: 바로 다음 라인의 첫번째 캐릭터 검사(단계(418)), 바로 다음 라인의 첫번째 캐릭터의 들여쓰기 검사(단계(420)), 그리고 바로 다음 라인의 캐릭터 이후의 첫번째 단어의 들여쓰기 검사(단계(422)). 만약 둘 이상의 항목들이 이러한 기준들을 모두 만족하는 것으로 밝혀지면, 중첩된 리스트들을 분석하기 위한 규칙들이 실행된다(단계(424)).
이 중첩된 리스트의 항목들은 하나 보다 많은 중첩 레벨이 존재하는지를 보기 위해 조사된다(단계(426)). 만약 이러한 것이 확인된다면(단계(428)), 이 시스템은 중첩된 리스트의 두번째 레벨 내의 항목들을 조사하기 위해 재귀 알고리즘을 실행한다. 이는 리스트들의 모든 레벨에 대해 모든 항목들이 식별될 때까지 계속된다. 이 항목들은 적절히 그룹화되고, 목적지 어플리케이션에서 정확하게 프린트되거나 스크린에 디스플레이되도록 컴파일된다(단계(430)). 이 프로세스는 종료 지점(432)에서 종료된다.
도 7은 사용자가 벡터 그래픽 기반 문서로부터 리스트 내용을 복사하여 다른 포맷을 사용하는 목적지 어플리케이션이나 문서로 붙여넣기하기 위해 적용하는 프로세스를 설명하기 위한 하이레벨 흐름도이다. 한 형태에서, 도 7의 프로세스는 컴퓨팅 장치(100)의 운영 로직 내에 적어도 부분적으로 구현된다. 사용자가 소스 어플리케이션 내의 벡터 그래픽 기반 문서로부터 내용을 선택하면(단계(452)), 상기 프로세스가 시작 지점(450)에서 시작된다. 사용자는 내용을 복사하여 목적지 어플리케이션 내에 붙여넣기하는 옵션을 선택한다(단계(454)). 소스 어플리케이션은 리스트의 존재를 검출하고, 문서 내에 존재하는 리스트 렌더링 명령어들에 기초하여 리스트를 해석한다(단계(456)). 소스 어플리케이션은 목적지 어플리케이션에서의 출력과 사용에 더 알맞은 수정된 포맷으로 내용을 변환한다(단계(458)). 수정된 내용의 몇 가지 제한되지 않은 예들은 서식있는 텍스트, 렌더링 명령어들을 포함하지 않는 XML이나 내용들의 전체나 부분의 그래픽적인 표현, 그리고 여러 다른 변형들을 포함한다. 소스 어플리케이션은 목적지 어플리케이션에게 수정된 내용을 제공한다(단계(460)). 이에 한정되지는 않지만 한 예로, 소스 어플리케이션은 프로그램적으로 또는 사용자에 의해 목적지 어플리케이션에 내용을 붙여넣기하는 데에 사용될 수 있는 클립보드에 수정된 내용을 위치시킴으로써 수정된 내용을 제공한다. 목적지 어플리케이션은 사용자를 위해 출력 장치 상에서 렌더링하는 것 등에 의해 수정된 내용을 적절히 사용하거나 출력한다(단계(462)). 이 프로세스는 종료 지점(464)에서 종료된다.
도 8-10을 보면, 원래대로의(native) XML 코드와 태그들 뿐만 아니라, 뷰어와 같은 소스 어플리케이션에서 어떻게 XML 코드가 해석되고 목적지 어플리케이션에 디스플레이되는지의 일 구현을 설명하기 위해 모의 시험된 다이어그램과 스크린들이 도시된다. 도 8은 일 구현에서 XPS 문서나 다른 벡터 그래픽 기반 문서(115)와 같은 소스로부터 수신될 수 있는 문서의 부분을 위한 XML 코드(500)를 보여준다. 이 예에서 보는 것처럼, XML 코드는 XPS(XML Paper Specification) 구문을 사용하여 쓰여진다. 이 예에서 보여진 것처럼, 문서(500)는 특정한 리스트 항목들의 명세서(specification)를 포함하는 태그(502)와 같은 다양한 태그들을 포함한다. 다른 많은 리스트 지정자(list designator)들이 사용될 수 있다. 더군다나, 문서(500) 내에서는 일부의, 모든, 추가적인 및/또는 다른 태그들 및/또는 텍스트 내용이 사용될 수 있다. 다른 구현들에서는, XML 태그들이 전혀 사용되지 않는다.
도 9는 뷰어 어플리케이션에서 어떻게 XML 내용(500)이 더 사용자 친화적인 방식으로 디스플레이되는가를 보여주는 일 구현을 위한 모의 스크린(508)을 보여주고 있다. 리스트들을 그래픽적으로 나타내기 위하여, 불릿 심볼(bullet symbol)(519 및 520)이 사용되었음에 유의한다.
도 10은 목적지 어플리케이션에서 복사, 변환, 및 붙여넣기되거나 단순히 목적지 어플리케이션으로부터 열린 후 변환된 XML 내용을 디스플레이하는 일 구현의 모의 스크린(530)이다. 주요 리스트(560)뿐만이 아니라 중첩된 리스트들(570, 580, 585)이 함께 디스플레이되며, 이들 각각은 리스트 중첩 여부에 따라 각기 다른 글머리 기호와 들여쓰기를 가짐에 유의한다. 중첩된 리스트(595)를 동반한 두번째 리스트(590)의 시작 역시 보여진다.
도 11은 일 구현에서 리스트 인식 프로그램(200)을 사용하는 스크린 리더의 한 형태의 흐름도를 보여준다. 한 형태에서, 도 11의 프로세스가 컴퓨팅 장치(100)의 운영 로직 내에 적어도 부분적으로 구현된다. 스크린 리더는 스크린을 명료하게 읽을 수 없는 사람들을 위해 컴퓨터 스크린상에 무엇이 있는지를 알려준다. 스크린 리더는 시각 장애인들에게 유용한 도구이다. 이 프로세스는 시작 지점(600)에서 시작하며, 사용자 또는 시스템이 벡터 그래픽 기반 문서 내 내용을 선택한다(단계(602)). 스크린 리더는 리스트(단계(604))를 포함하는 문서 내용을 해석하고 의미 있는 방식으로 정보를 청각적으로 중계한다(단계(606)). 이에 한정적이지 않지만 한 예로, 불릿형 리스트에 대한 스크린 리더의 가청 출력은 다음의 말(spoken words)을 포함할 수 있다: "불릿형 리스트. 첫번째 글머리 기호: [텍스트를 읽는다]; 두번째 글머리 기호: [텍스트를 읽는다]." 이에 한정되지는 않지만 또 다른 예로, 넘버형 리스트에서의 스크린 리더의 가청 출력은 다음의 말을 포함할 수 있다: "넘버형 리스트. 항목번호 1: [텍스트를 읽는다]; 항목번호 2: [텍스트를 읽는다]." 다른 많은 변형들도 가능하다. 이 프로세스는 종료 지점(608)에서 종료된다.
비록 발명의 주제가 구조적 특징 및/또는 방법론적인 동작에 특정한 언어로 설명되긴 했지만, 첨부된 청구항들에 정의된 발명의 주제는 상기 설명된 특정한 동작들이나 특징들에 한정되지 않음을 이해하여야 한다. 대신, 앞서 설명된 특정한 특징들과 동작들이 청구항들을 구현하는 형식들의 예로 소개되어 진다. 상세한 설명 및 이하의 청구항들에 기술된 구현의 취지 내에 드는 모든 수정, 변경, 그리고 등가물은 보호되어져야 한다.
예를 들면, 컴퓨터 소프트웨어 기술 분야의 통상적인 지식을 가진 사람은, 여기에서 논의된 예시들에 기술된, 클라이언트 및/또는 서버 장치들, 사용자 인터페이스 스크린 내용 및/또는 데이타 레이아웃이, 예시들에서 그려진 것보다 적거나 많은 옵션들이나 특징들을 포함하도록 하나 이상의 컴퓨터 상에서 다르게 조직될 수 있음을 인식할 수 있을 것이다.

Claims (20)

  1. 벡터 그래픽 기반 문서 내의 리스트를 인식하기 위한 방법으로서,
    문서 내의 적어도 하나의 리스트의 리스트 렌더링 명령어들의 집합을 갖는 원본 포맷의 문서를 수신하는 단계(242);
    적어도 하나의 리스트가 상기 문서 내에 존재함을 결정하고, 상기 리스트의 내용들의 집합을 식별하기 위해 상기 문서를 분석(parsing)하는 단계(248); 및
    상기 원본 포맷보다 출력에 더 알맞은 수정된 포맷으로 리스트를 나타내는 출력 매체에 상기 리스트를 출력하는 단계(250)
    를 포함하는 벡터 그래픽 기반 문서 내 리스트 인식 방법.
  2. 제1항에 있어서, 상기 문서는 XML 기반 문서 포맷으로 저장되는(242) 벡터 그래픽 기반 문서 내 리스트 인식 방법.
  3. 제1항에 있어서, 상기 출력 매체는 디스플레이인(250) 벡터 그래픽 기반 문서 내 리스트 인식 방법.
  4. 제1항에 있어서, 상기 출력 매체는 스크린 리더이고, 상기 리스트의 내용들의 집합은 사용자에게 가청으로 기술되는(audibly described)(250) 벡터 그래픽 기반 문서 내 리스트 인식 방법.
  5. 제1항에 있어서, 상기 출력 매체는 또 다른 시스템인(250) 벡터 그래픽 기반 문서 내 리스트 인식 방법.
  6. 제1항에 있어서, 상기 적어도 하나의 리스트는 불릿형 리스트(bulleted list)(324)인 벡터 그래픽 기반 문서 내 리스트 인식 방법.
  7. 제1항에 있어서, 상기 적어도 하나의 리스트는 넘버형 리스트(numbered list)(376)인 벡터 그래픽 기반 문서 내 리스트 인식 방법.
  8. 제1항에 있어서, 상기 문서를 분석하는 단계는,
    동일한 첫번째 캐릭터를 갖고(326), 상기 첫번째 캐릭터의 동일한 들여쓰기를 갖고(328), 첫번째 단어의 동일한 단어 들여쓰기를 갖는(332) 다수의 리스트 항목들을 식별하는 단계
    를 포함하는 벡터 그래픽 기반 문서 내 리스트 인식 방법.
  9. 제1항에 있어서, 상기 문서를 분석하는 단계는,
    연속하는(sequential) 첫번째 캐릭터를 갖고(378), 상기 첫번째 캐릭터의 동일한 들여쓰기를 갖고(382), 첫번째 단어의 동일한 단어 들여쓰기를 갖는(384) 다수의 리스트 항목들을 식별하는 단계
    를 포함하는 벡터 그래픽 기반 문서 내 리스트 인식 방법.
  10. 제1항에 있어서,
    상기 문서를 분석하는 단계는, 중첩된 리스트들(nested lists)을 검출(416)할 수 있고,
    상기 리스트를 출력하는 단계는, 수정된 포맷의 중첩된 리스트들을 표현할 수 있는 벡터 그래픽 기반 문서 내 리스트 인식 방법.
  11. 제1항에 있어서,
    상기 수신하는 단계는, 사용자가 목적지 어플리케이션에 상기 문서의 일부분을 복사하기 위한 옵션을 선택하였을 시에 수행되고(454),
    판독하고 분석하는 단계는, 소스 어플리케이션에 의해 수행되고(456),
    상기 수정된 포맷은 상기 소스 어플리케이션에 의해 생성되고(458), 그 다음 상기 출력 매체로의 출력을 위해 상기 목적지 어플리케이션으로 전송되고(460),
    상기 수정된 포맷은 상기 목적지 어플리케이션에 의해서 사용되는 포맷인(458) 벡터 그래픽 기반 문서 내 리스트 인식 방법.
  12. 컴퓨터로 하여금 제1항에 기재된 단계들을 수행하게 하기 위한 컴퓨터 실행가능 명령어들을 갖는 컴퓨터 판독가능 매체(200).
  13. 컴퓨터로 하여금,
    규칙들의 집합을 사용하여 벡터 그래픽 기반 문서 내의 적어도 하나의 리스트를 검출하는 단계(324)
    - 상기 규칙들은,
    다수의 리스트 항목들이 동일한 첫번째 캐릭터를 갖고(326), 상기 첫번째 캐릭터의 동일한 들여쓰기를 갖고(328), 첫번째 단어의 동일한 단어 들여쓰기를 갖는지(332)를 결정하기 위한 제1 로직을 적용함으로써, 불릿형 리스트가 존재하는지를 검출하는 것, 및
    다수의 리스트 항목들이 연속한 첫번째 캐릭터를 갖고(378), 상기 첫번째 캐릭터의 동일한 들여쓰기를 갖고(382), 첫번째 단어의 동일한 단어 들여쓰기를 갖는지(384)를 결정하기 위한 제2 로직을 적용하여 넘버형 리스트가 존재하는지를 검출하는 것을 포함함-;
    상기 적어도 하나의 리스트를 수정된 포맷으로 변환하는 단계(458); 및
    상기 수정된 포맷을 출력 매체로 출력하는 단계(462)
    를 포함하는 방법을 수행하게 하기 위한 컴퓨터 실행가능 명령어들을 갖는 컴퓨터 판독가능 매체.
  14. 제13항에 있어서, 상기 문서는 XML 문서를 포함하는(242) 컴퓨터 판독가능 매체.
  15. 제13항에 있어서, 상기 출력 매체는 디스플레이 장치, 파일, 스크린 리더, 및 개별 어플리케이션을 포함하는 그룹으로부터 선택되는(250) 컴퓨터 판독가능 매체.
  16. 제13항에 있어서, 상기 적어도 하나의 리스트는 불릿형 리스트인(324) 컴퓨터 판독가능 매체.
  17. 제13항에 있어서, 상기 적어도 하나의 리스트는 넘버형 리스트인(376) 컴퓨터 판독가능 매체.
  18. 벡터 그래픽 기반 문서를 해석하는 방법으로서,
    리스트 렌더링 명령어들의 집합을 포함하는 원본 포맷을 갖는 내용의 부분을 복사하기 위한 사용자로부터의 입력을 수신하는 단계(454);
    상기 문서 내에 적어도 하나의 리스트가 존재함을 검출하기 위해 상기 리스트 렌더링 명령어들을 해석하는 단계(456);
    상기 원본 포맷보다 목적지 어플리케이션에서의 출력에 더 알맞은 수정된 포맷으로 상기 내용을 변환하는 단계(458); 및
    상기 수정된 포맷의 내용을 출력을 위해 상기 목적지 어플리케이션에 제공하는 단계(460)
    를 포함하는 벡터 그래픽 기반 문서 해석 방법.
  19. 제18항에 있어서, 상기 내용의 부분은 XML 기반 포맷 문서로부터 선택(240)된 벡터 그래픽 기반 문서 해석 방법.
  20. 컴퓨터로 하여금 제18항에 기재된 단계들을 수행하게 하기 위한 컴퓨터 실행가능 명령어들을 갖는 컴퓨터 판독가능 매체(200).
KR1020087018973A 2006-02-09 2007-01-19 벡터 그래픽 문서 내 리스트 인식 방법, 벡터 그래픽 문서해석 방법 및 컴퓨터 판독가능 매체 KR20080100179A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/351,065 US7836399B2 (en) 2006-02-09 2006-02-09 Detection of lists in vector graphics documents
US11/351,065 2006-02-09

Publications (1)

Publication Number Publication Date
KR20080100179A true KR20080100179A (ko) 2008-11-14

Family

ID=38335206

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087018973A KR20080100179A (ko) 2006-02-09 2007-01-19 벡터 그래픽 문서 내 리스트 인식 방법, 벡터 그래픽 문서해석 방법 및 컴퓨터 판독가능 매체

Country Status (5)

Country Link
US (1) US7836399B2 (ko)
KR (1) KR20080100179A (ko)
CN (1) CN101385023B (ko)
BR (1) BRPI0706718A2 (ko)
WO (1) WO2007094913A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8057679B2 (en) 2008-07-09 2011-11-15 Baxter International Inc. Dialysis system having trending and alert generation
US9135249B2 (en) * 2009-05-29 2015-09-15 Xerox Corporation Number sequences detection systems and methods
AU2012281160B2 (en) 2011-07-11 2017-09-21 Paper Software LLC System and method for processing document
AU2012282688B2 (en) * 2011-07-11 2017-08-17 Paper Software LLC System and method for processing document
WO2013009904A1 (en) 2011-07-11 2013-01-17 Paper Software LLC System and method for processing document
EP2732381A4 (en) 2011-07-11 2015-10-21 Paper Software LLC METHOD AND SYSTEM TO SEARCH FOR A DOCUMENT
US9251287B2 (en) 2011-08-26 2016-02-02 International Business Machines Corporation Automatic detection of item lists within a web page
US9384172B2 (en) * 2012-07-06 2016-07-05 Microsoft Technology Licensing, Llc Multi-level list detection engine
US9483740B1 (en) 2012-09-06 2016-11-01 Go Daddy Operating Company, LLC Automated data classification
US9516089B1 (en) * 2012-09-06 2016-12-06 Locu, Inc. Identifying and processing a number of features identified in a document to determine a type of the document
CN102929859B (zh) * 2012-09-27 2015-07-08 东莞宇龙通信科技有限公司 辅助阅读的方法及装置
US10061773B1 (en) * 2013-08-12 2018-08-28 Ca, Inc. System and method for processing semi-structured data
CN104517106B (zh) * 2013-09-29 2017-11-28 北大方正集团有限公司 一种列表识别方法与系统
US9311295B2 (en) * 2014-01-30 2016-04-12 International Business Machines Corporation Procedure extraction and enrichment from unstructured text using natural language processing (NLP) techniques
US9842251B2 (en) 2016-01-29 2017-12-12 Konica Minolta Laboratory U.S.A., Inc. Bulleted lists
US9858129B2 (en) * 2016-02-16 2018-01-02 International Business Machines Corporation Dynamic copy content retrieval
US11514258B2 (en) * 2018-09-20 2022-11-29 International Business Machines Corporation Table header detection using global machine learning features from orthogonal rows and columns
US11262979B2 (en) * 2019-09-18 2022-03-01 Bank Of America Corporation Machine learning webpage accessibility testing tool
EP3862918B1 (en) * 2020-02-07 2023-11-01 MyScript Structural decomposition in handwriting

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6651221B1 (en) * 1993-05-20 2003-11-18 Microsoft Corporation System and methods for spacing, storing and recognizing electronic representations of handwriting, printing and drawings
US5613019A (en) * 1993-05-20 1997-03-18 Microsoft Corporation System and methods for spacing, storing and recognizing electronic representations of handwriting, printing and drawings
US5517578A (en) * 1993-05-20 1996-05-14 Aha! Software Corporation Method and apparatus for grouping and manipulating electronic representations of handwriting, printing and drawings
JP4074366B2 (ja) 1998-02-24 2008-04-09 コニカミノルタビジネステクノロジーズ株式会社 画像検索装置及び方法並びに画像検索プログラムを記録した記録媒体
US6487566B1 (en) 1998-10-05 2002-11-26 International Business Machines Corporation Transforming documents using pattern matching and a replacement language
US6209124B1 (en) * 1999-08-30 2001-03-27 Touchnet Information Systems, Inc. Method of markup language accessing of host systems and data using a constructed intermediary
US6430624B1 (en) * 1999-10-21 2002-08-06 Air2Web, Inc. Intelligent harvesting and navigation system and method
US6694053B1 (en) 1999-12-02 2004-02-17 Hewlett-Packard Development, L.P. Method and apparatus for performing document structure analysis
US6757870B1 (en) * 2000-03-22 2004-06-29 Hewlett-Packard Development Company, L.P. Automatic table detection method and system
US6782380B1 (en) 2000-04-14 2004-08-24 David Victor Thede Method and system for indexing and searching contents of extensible mark-up language (XML) documents
DE10041165B4 (de) 2000-08-21 2005-07-07 Leica Microsystems Heidelberg Gmbh Verfahren und Anordnung zur Steuerung von Analyse- und Einstellvorgängen eines Mikroskops
US7194411B2 (en) * 2001-02-26 2007-03-20 Benjamin Slotznick Method of displaying web pages to enable user access to text information that the user has difficulty reading
WO2002097667A2 (en) 2001-05-31 2002-12-05 Lixto Software Gmbh Visual and interactive wrapper generation, automated information extraction from web pages, and translation into xml
MXPA04011507A (es) 2002-05-20 2005-09-30 Tata Infotech Ltd Identificador de estructura de documento.
US7295708B2 (en) * 2003-09-24 2007-11-13 Microsoft Corporation System and method for detecting a list in ink input
US20050108630A1 (en) 2003-11-19 2005-05-19 Wasson Mark D. Extraction of facts from text
US7508985B2 (en) 2003-12-10 2009-03-24 International Business Machines Corporation Pattern-matching system
US7394935B2 (en) * 2004-09-21 2008-07-01 Microsoft Corporation System and method for editing a hand-drawn chart in ink input

Also Published As

Publication number Publication date
CN101385023B (zh) 2011-10-05
BRPI0706718A2 (pt) 2011-04-05
CN101385023A (zh) 2009-03-11
US7836399B2 (en) 2010-11-16
WO2007094913A1 (en) 2007-08-23
US20070185837A1 (en) 2007-08-09

Similar Documents

Publication Publication Date Title
US7836399B2 (en) Detection of lists in vector graphics documents
US7707488B2 (en) Analyzing lines to detect tables in documents
US10671251B2 (en) Interactive eReader interface generation based on synchronization of textual and audial descriptors
US7991709B2 (en) Method and apparatus for structuring documents utilizing recognition of an ordered sequence of identifiers
US20110264705A1 (en) Method and system for interactive generation of presentations
US7913191B2 (en) Common input/output interface for application programs
CN110770735B (zh) 具有嵌入式数学表达式的文档的编码转换
US9032285B2 (en) Selective content extraction
US7996227B2 (en) System and method for inserting a description of images into audio recordings
US20130104029A1 (en) Automated addition of accessiblity features to documents
JP2018512666A (ja) 画像検証コードに基づいて画像を検証するための方法及び装置
US8271873B2 (en) Automatically detecting layout of bidirectional (BIDI) text
KR20120051419A (ko) 종속형 스타일 시트 규칙 추출 장치 및 방법
JP6130315B2 (ja) ファイル変換方法及びシステム
US9495334B2 (en) Visualizing content referenced in an electronic document
US9286272B2 (en) Method for transformation of an extensible markup language vocabulary to a generic document structure format
US10261987B1 (en) Pre-processing E-book in scanned format
WO2006046665A1 (ja) 文書処理装置及び文書処理方法
JP4868830B2 (ja) コンテクスト・ツリーにおける分析代替案
KR20090048211A (ko) 음원 재생이 가능한 문서 변환 및 실행 방법, 이를수행하는 기록 매체 및 이를 수행하는 프로그램
JP2002073598A (ja) 文書処理装置および方法
Klindt PDF/A considered harmful for digital preservation.
JP2019057137A (ja) 情報処理装置及び情報処理プログラム
JP2006252164A (ja) 中国語文書処理装置
CN114743012B (zh) 一种文本识别方法及装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid