KR20070059236A - Method of printing tables included in web pages - Google Patents
Method of printing tables included in web pages Download PDFInfo
- Publication number
- KR20070059236A KR20070059236A KR1020050117863A KR20050117863A KR20070059236A KR 20070059236 A KR20070059236 A KR 20070059236A KR 1020050117863 A KR1020050117863 A KR 1020050117863A KR 20050117863 A KR20050117863 A KR 20050117863A KR 20070059236 A KR20070059236 A KR 20070059236A
- Authority
- KR
- South Korea
- Prior art keywords
- cell
- attribute
- cells
- long
- next page
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
- G06F3/1246—Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/125—Page layout or assigning input pages onto output media, e.g. imposition
- G06F3/1251—Page layout or assigning input pages onto output media, e.g. imposition for continuous media, e.g. web media, rolls
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Record Information Processing For Printing (AREA)
Abstract
Description
도 1은 본 발명의 일 실시예에 따른 웹문서 프린트 엔진을 응용한 시스템의 일예,1 is a block diagram of a system for applying a web document print engine according to an embodiment of the present invention,
도 2는 본 발명의 일 실시예에 따른 웹문서 프린트 엔진의 블록 구성도,2 is a block diagram of a Web document print engine according to an embodiment of the present invention;
도 3은 본 발명의 일 실시예에 따른 웹문서 프린트 방법을 도시한 전체 흐름도,FIG. 3 is an overall flowchart illustrating a web document printing method according to an embodiment of the present invention;
도 4는 본 발명의 일 실시예에 따른 웹문서에 포함된 테이블 프린트를 최적화하는 방법을 도시한 흐름도,FIG. 4 is a flowchart illustrating a method of optimizing a table print included in a web document according to an exemplary embodiment of the present invention;
도 5는 도 4에 도시된 테이블 프린트 방법 중 가로로 긴 테이블을 최적화하는 방법을 도시한 흐름도,FIG. 5 is a flowchart illustrating a method of optimizing a horizontally long table among the table printing methods shown in FIG. 4;
도 6은 도 5에 도시된 가로로 긴 테이블의 최적화 방법 중 출력영역을 넘는 셀들을 다른 페이지로 이동하는 방법을 도시한 흐름도,FIG. 6 is a flowchart illustrating a method of moving cells over an output area to another page among the optimization methods of the horizontally long table shown in FIG. 5;
도 7a 내지 도 7c는 가로방향으로 셀 병합(Colspan)된 경우에 출력영역을 넘는 셀들을 다른 페이지로 이동하는 방법을 설명하기 위한 참고도이다.FIGS. 7A to 7C are reference views for explaining a method of moving cells over an output area to another page when the cells are colspaned in the horizontal direction. FIG.
본 발명은 웹문서의 프린트 방법에 관한 것으로, 보다 상세하게는 웹문서에 포함된 테이블을 최적화하여 프린트하는 방법에 관련된다.The present invention relates to a method of printing a web document, and more particularly, to a method of optimizing and printing a table included in a web document.
웹문서는 월드 와이드 웹 컨소시움(W3C)의 권고안에 따른 HTML, XML, XHTML 등의 마크업(markup) 언어로 작성된다. 마크업 언어는 다양한 태그(tag 또는 element)와 속성(attribute)을 포함하며 이를 이용하여 다양한 형태의 웹문서를 작성할 수 있다. Web documents are written in markup languages such as HTML, XML, and XHTML according to the recommendations of the World Wide Web Consortium (W3C). A markup language includes various tags (tags or elements) and attributes and can be used to create various types of web documents.
그러나 W3C 권고안에 따른 마크업 언어를 사용하는 인터넷 익스플로러와 같은 기존의 웹 브라우저는, 웹문서에 포함된 마크업 언어로 구성된 개체(object)들을 변경하지 않고 화면에 표시된 그대로 비트맵 이미지로 렌더링하여 프린트하는 방식을 이용한다. 이에 따라 웹문서의 일부가 잘린 채로 프린트되거나, 또는 필요 없는 이미지나 프레임이 프린트되는 등 사용자가 원하는 형식으로 최적화하여 웹문서를 프린트할 수 없다는 문제점이 있다. 특히, 웹 컨텐츠에서 가장 많이 사용되는 테이블을 표현하는 <table> 엘리먼트의 경우, 가로, 세로가 긴 테이블을 기존 웹 브라우저를 통해 인쇄하면 테이블이 잘려서 안 보이는 현상이 빈번히 발생한다. 또한, 테이블의 제목에 해당하는 부분을 페이지마다 반복하려면 인쇄를 위한 컨텐츠를 별도로 다시 만들어야 하는 번거로움이 발생한다. 이는 웹문서에 포함된 개체들의 프린트를 제어할 수 있는 방법이 제공되지 않기 때문이다. However, conventional web browsers such as Internet Explorer using the markup language according to the W3C recommendation do not change the objects configured in the markup language included in the web document, but render them as a bitmap image as displayed on the screen and print . Accordingly, there is a problem in that a web document can not be printed by optimizing the format of a user's desired format such that a part of the web document is printed while being cut off or an unnecessary image or frame is printed. In particular, in the case of the <table> element representing the most frequently used table in the web contents, the table is often cut off when the long and long table is printed through the existing web browser. In addition, if the portion corresponding to the title of the table is repeated for each page, it is troublesome to re-create the contents for printing separately. This is because there is no way to control the printing of entities contained in a web document.
이를 해결하기 위하여 웹문서를 작성할 때 미리 프린트 포맷에 맞도록 작성하거나, 또는 화면에 디스플레이 되는 웹문서와 프린트용 웹문서를 별도로 작성하 는 방법이 이용되기도 한다. 즉, 현재 웹 프린팅 방식은 주로 데이터베이스 기반의 리포팅 툴(reporting tool)로 웹 개발자가 SQL 문을 이용하여 고정된 형식의 테이블로 만들어 데이터를 표현하고 있으며, 이에 따라 이미 만들어진 컨텐츠에서 테이블을 인쇄에 적합하도록 최적화해주는 솔루션이 별도로 없어 웹 컨텐츠를 만들 때에 미리 인쇄에 용이한 크기로 테이블 구성해야 한다. 그러나 이러한 방법들은 웹 디자이너에게 별도의 웹문서를 작성해야 하는 이중의 부담을 준다는 단점이 있다. 또한, 사용자가 원하는 형식으로 다양하게 웹문서를 프린트할 수 없다는 문제점이 있다.In order to solve this problem, a method of preparing a web document in advance in accordance with the print format, or a method of separately creating a web document to be displayed on the screen and a web document for printing may be used. In other words, the web printing method is mainly a database-based reporting tool, and the web developer uses SQL statements to represent the data in a fixed format table, so that it is suitable for printing the table from already created contents. There is no separate solution to optimize it so that when creating web content, you should configure the table in a size that is easy to print in advance. However, these methods have the disadvantage of imposing a double burden on the web designer to write a separate web document. In addition, there is a problem that a user can not print a web document in various formats in a desired format.
따라서, 전술한 문제점을 해결하기 위하여 본 발명이 이루고자 하는 기술적 과제는, 화면에 표시되는 웹문서의 내용을 변경하지 않고 확장된 프린트 제어기능을 제공하는 효과적인 웹문서 프린트 방법을 제공하는 것이다. 특히, 웹문서에 포함된 테이블을 최적화하여 프린트하는 방법을 제공한다. SUMMARY OF THE INVENTION Accordingly, the present invention has been made keeping in mind the above problems occurring in the prior art, and an object of the present invention is to provide an effective web document printing method that provides an expanded print control function without changing the contents of a web document displayed on the screen. In particular, it provides a method of optimizing and printing a table included in a web document.
본 발명에 따라 전술한 기술적 과제는, 마크업 언어로 작성된 웹문서를 프린트하는 방법에 있어서, 웹문서에 포함된 복수의 개체들을 파싱하는 단계; 및 파싱된 개체들을 미리 설정된 인쇄용지에 맞추어 재구성하여 렌더링하는 단계를 포함하며, 개체들은 웹문서의 내용을 변경하지 않고 확장된 프린트 제어기능을 제공하는 확장 태그 및 속성을 포함하되, 그 확장 태그 및 속성은 테이블의 셀들을 최적화하여 프린트하는 기능을 제공하는 것을 특징으로 하는 웹문서 프린트 방법에 의해 달 성된다.According to another aspect of the present invention, there is provided a method of printing a web document written in a markup language, the method comprising: parsing a plurality of objects included in a web document; And reconstructing and rendering the parsed entities according to a predetermined print paper, wherein the entities include an extension tag and an attribute for providing an extended print control function without changing the contents of the web document, Attribute is provided to optimize and print the cells of the table.
확장 태그 및 속성은 테이블의 가로 또는 세로가 길어서 안 보이는 셀을 다음 페이지로 분리하는 기능을 제공하는 것이 바람직하며, The extension tags and attributes preferably provide a function of separating the cells of a table that are long or long in length into the next page,
확장 태그 및 속성은 테이블의 셀의 내용이 긴 경우 셀 안의 엘리먼트를 다음 페이지로 분리하는 기능을 제공하는 것이 바람직하고,The extension tag and attribute preferably provide a function of separating the elements in the cell into the next page if the contents of the cell of the table are long,
확장 태그 및 속성은 테이블의 특정 셀을 페이지마다 반복하는 기능을 제공하는 것이 바람직하다.The extension tags and attributes preferably provide the ability to iterate through a particular cell of a table on a page-by-page basis.
특히, 확장 태그 및 속성은 가로가 긴 테이블의 경우 인쇄용지의 우측 여백을 넘는 셀을 다음 페이지로 분리하는 것이 바람직하며,In particular, in the case of a table having a long width, the extended tag and the attribute are preferably separated into a next page cell exceeding the right margin of the printing paper,
확장 태그 및 속성은 세로가 긴 테이블의 경우 인쇄용지의 하단 여백을 넘는 셀을 다음 페이지로 분리하는 것이 바람직하다.In the case of a table having a long length, it is preferable to separate the cells beyond the bottom margin of the printing paper to the next page.
확장 태그 및 속성은 가로가 긴 테이블이 가로방향으로 셀 병합(Colspan)되어 있는 경우 셀 병합을 취소하고 인쇄용지의 우측 여백을 넘는 셀을 다음 페이지로 분리하는 것이 바람직하며, The extension tag and the attribute are desirably to cancel the cell merging when the long-horizontally long table is colspaned in the horizontal direction, and to separate the cells beyond the right margin of the printing paper into the next page,
확장 태그 및 속성은 세로가 긴 테이블이 세로방향으로 셀 병합(Rowspan)되어 있는 경우 셀 병합 취소하고 인쇄용지의 하단 여백을 넘는 셀을 다음 페이지로 분리하는 것이 바람직하다.The extension tag and the attribute are desirably to cancel the cell merging when the long vertical table is Rowspan in the vertical direction, and to separate the cells beyond the bottom margin of the printing sheet into the next page.
확장 태그 및 속성은 테이블의 셀 내용이 길어서 셀을 분리할 수 없는 경우, 셀 안의 엘리먼트 중 하단 여백을 넘는 엘리먼트를 다음 페이지로 분리하는 것이 바람직하며,If the cell of the table can not be separated because the contents of the cell of the table are long, it is preferable to separate the elements in the cell beyond the bottom margin into the next page,
확장 태그 및 속성은 테이블의 캡션에 해당하는 제목 또는 가로 셀을 반복하는 것이 바람직하고,The extension tags and attributes preferably repeat the title or horizontal cell corresponding to the caption of the table,
확장 태그 및 속성은 테이블의 내용을 구분해주는 세로 셀을 반복하는 것이 바람직하다.Extension tags and attributes are preferably repeated in vertical cells that identify the contents of the table.
이하에서는 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. In addition, the terms described below are defined in consideration of the functions of the present invention, which may vary depending on the intention of the user, the operator, or the custom. Therefore, the definition should be based on the contents throughout this specification.
도 1은 본 발명의 일 실시예에 따른 웹문서 프린트 엔진을 응용한 시스템의 일예이다.1 is an example of a system applying a web document print engine according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 응용 시스템은 웹서버(1), 브라우저(2), 웹 프린트 엔진(3) 및 프린터 또는 미리보기 객체(4)를 구비한다. Referring to FIG. 1, an application system according to an embodiment of the present invention includes a
웹서버(1)는 다양한 태그와 속성을 포함하는 마크업 언어로 작성된 웹문서를 제공한다. 웹문서(10)는 다양한 멀티미디어 자료뿐만 아니라 ASP, JSP, 또는 CGI 등의 인터페이스를 이용하여 데이터베이스로부터 추출된 다양한 데이터베이스 자료를 더 포함할 수 있다. 특히, 본 발명에 따른 웹문서에는 확장된 프린트 제어기능 을 제공하는 확장 태그 및 속성이 포함된다. 확장 태그 및 속성에 대한 상세한 설명은 후술한다. The
브라우저(2)는 클라이언트에 탑재되어 웹서버(1)로부터 다양한 웹문서를 네비게이션하는 도구이다. 브라우저(2)는 웹문서에 포함된 W3C 권고안에 따른 다양한 태그 및 속성을 처리하여 다양한 멀티미디어 개체를 화면에 표시해준다. 브라우저(2)는 웹문서에 포함된 태그 및 속성을 파싱하고, 이를 이용하여 문서객체모델 즉, DOM(document object model) 트리를 구성한 후 렌더링(rendering) 과정을 거쳐 해당 개체들을 화면에 표시한다.The
한편, 본 발명에 따른 웹 프린트 엔진(3)은 웹문서(10)에 포함된 확장 태그 및 속성에 기초하여 웹문서의 출력 형태를 최적화한다. 웹 프린트 엔진(3)은 웹서버(1)로부터 직접 웹문서(10)를 다운로드 또는 스트리밍 받거나 또는 브라우저(2)를 통해 다운로드 또는 스트리밍 받을 수 있다.On the other hand, the
보다 구체적으로, 도 2는 본 발명의 일 실시예에 따른 웹문서 프린트 엔진의 블록 구성도이다.More specifically, FIG. 2 is a block diagram of a Web document print engine according to an embodiment of the present invention.
도 2를 참조하면, 웹 프린트 엔진(3)은 웹문서(10)에 포함된 확장된 프린트 제어기능을 제공하는 확장 태그 및 속성을 파싱하는 파서(31), 파싱된 확장 태그 및 속성을 이용하여 문서객체모델을 구성하는 DOM 트리(32), 및 파싱된 확장 태그 및 속성이 포함하는 프린트 제어 정보에 기초하여 웹문서의 프린트 포맷을 최적화하여 비트맵 이미지로 렌더링(rendering)하는 렌더러(33)로 구성된다. Referring to FIG. 2, the
렌더링된 이미지는 프린터 또는 미리보기 객체(4)를 통해 종이에 출력되거나 또는 화면으로 표시된다. 웹 프린트 엔진(3)은 웹서버에 설치되어 사용자 컴퓨터로 자동 다운로드 된다. 이때, 사용자 컴퓨터는 퍼스널 컴퓨터는 물론, 모바일 폰, 개인휴대단말(PDA), 노트북, 포켓 PC 등을 망라한다. 웹 프린트 엔진(3)은 최적화된 출력물을 프린터나 Previewdlg와 같은 미리보기 객체를 통해 출력할 수 있다. The rendered image is output to paper or displayed as a screen via the printer or preview object (4). The
상술한 바와 같이 본 발명에 따른 웹문서(10)는 W3C 권고안에 따른 일반적인 태그 및 속성 외에 확장된 프린트 기능을 제공하는 확장 태그 및 속성을 더 포함한다. 브라우저(2)는 웹문서(10)에 포함된 일반적인 태그 및 속성만을 처리하고 본 발명에 따른 확장 태그 및 속성은 웹 프린트 엔진(3)에서 별도로 처리한다. 따라서 화면에 출력되는 웹문서를 변경하지 않고도 별도로 다양한 프린트 제어기능을 구현할 수 있다.As described above, the
이하, 보다 구체적으로 본 발명에 따른 확장된 프린트 제어기능을 제공하는 확장 태그 및 속성들을 살펴본다. 이들 확장 태그 및 속성들은 기존의 W3C 권고안인 HTML 표준에는 정의되지 않은 것들로 브라우저(2)는 이를 인식하지 못하며, 프린트를 위해 본 발명에 따른 웹 프린트 엔진(3)에서 별도로 처리된다. Hereinafter, an extension tag and attributes for providing an extended print control function according to the present invention will be described in more detail. These extension tags and attributes are not defined in the HTML standard, which is an existing W3C recommendation, and the
이하, 본 발명에 따라 테이블을 최적화하여 프린트하기 위한 확장 태그 및 속성을 상세히 설명한다. 기존 W3C 권고안에 포함된 <TABLE> 태그의 속성으로 새로운 확장 속성을 사용하여 웹문서에 포함된 표의 선 굵기, 폭, 너비 등을 조절하고 표를 가로 또는 세로 방향으로 최적화하거나, 표를 페이지로 분리하거나, 또는 특정 열이나 행을 페이지마다 반복하여 프린트할 수 있다. 이를 위해 다음과 같은 새로운 속성들을 정의한다.Hereinafter, an extension tag and attributes for optimizing and printing a table according to the present invention will be described in detail. As a property of the <TABLE> tag included in the existing W3C Recommendation, you can use the new extended properties to adjust the line width, width, and width of the table included in the Web document, optimize the table horizontally or vertically, Alternatively, a specific column or row can be repeatedly printed for each page. The following new properties are defined for this purpose.
1) PrnBorder1) PrnBorder
테이블의 선굵기를 지정하는 속성으로 ㎛를 기본단위로 사용한다.An attribute that specifies the line thickness of the table is ㎛ used as a base unit.
2) PrnWidth 및 PrnHeight2) PrnWidth and PrnHeight
테이블이나 테이블에 포함된 특정 셀의 너비 및 높이를 지정하는 속성으로 mm를 기본단위로 사용한다.Use mm as a base unit to specify the width and height of a specific cell in a table or table.
3) CellOptimize Horizon, HCellRepeat 및 CellMove3) CellOptimize Horizon, HCellRepeat and CellMove
가로로 긴 테이블을 최적화하기 위한 속성들이다. These are properties for optimizing horizontally long tables.
CellOptimize 속성으로 Horizon 이 설정된 경우, 인쇄영역을 초과하는 가로 셀을 반복 셀과 함께 다음 페이지로 이동하여 테이블을 나눈다. 이에 따라, 가로가 긴 테이블의 경우 인쇄용지의 우측 여백을 기준으로 셀을 다음 페이지로 분리할 수 있다. 즉, 셀이 우측 여백을 침범하게 되면 다음 페이지로 분리할 셀로 판단한다. 이 때, 가로가 긴 테이블이 열 병합(Colspan)으로 구성되어 있는 경우에는 병합된 셀을 분리한 다음 분리된 셀을 다음 페이지로 넘길 수 있다. 또한, CellOptimize 속성이 None으로 설정된 경우, 인쇄영역을 초과하는 가로 셀은 프린트하지 않는다. If Horizon is set as the CellOptimize property, the horizontal cells that exceed the print area are moved to the next page with the repeating cells to divide the table. Accordingly, in the case of a long table, the cell can be separated into the next page based on the right margin of the printing paper. That is, if the cell invades the right margin, it is judged as a cell to be separated to the next page. In this case, if the long table is composed of colspan, the merged cell can be separated and the separated cell can be passed to the next page. In addition, when the CellOptimize property is set to None, horizontal cells exceeding the print area are not printed.
한편, HCellRepeat 속성은 반복되는 가로 셀의 범위를 지정하기 위해 사용되며, 숫자 값이 변수로 사용된다. 이에 따라, 테이블의 캡션(caption)에 해당하는 제목이나 테이블을 구분해 주는 가로 셀을 반복시킬 수 있다. 예를 들어 테이블의 상단 셀을 반복할 수 있다.On the other hand, the HCellRepeat attribute is used to specify a range of horizontal cells to be repeated, and a numerical value is used as a variable. Accordingly, it is possible to repeat the horizontal cell which distinguishes the title or the table corresponding to the caption of the table. For example, you can repeat the top cell of a table.
CellMove 속성이 Auto로 설정된 경우, 가로는 길고 세로는 짧은 테이블의 페이지 가로 경계선(우측여백)에 있는 셀들을 표의 하단에 이어서 프린트하도록 하며, Next로 설정된 경우 가로 경계선에 있는 셀들을 다음 페이지로 이동하여 프린트한다.If the CellMove property is set to Auto, the cells in the horizontal border (right margin) of the page in the short table are printed next to the bottom of the table. If set to Next, the cells in the horizontal border are moved to the next page Print.
4) CellOptimize Vertical 및 VCellRepeat 4) CellOptimize Vertical and VCellRepeat
세로로 긴 테이블을 최적화하기 위한 속성들이다. CellOptimize 속성으로 Vertical 이 설정된 경우, 인쇄영역을 초과하는 세로 셀을 반복 셀과 함께 다음 페이지로 이동하여 테이블을 나눈다. 이에 따라, 세로가 긴 테이블의 경우 인쇄용지의 하단 여백을 기준으로 셀을 다음 페이지로 분리할 수 있다. 즉, 셀이 하단 여백을 침범하게 되면 다음 페이지로 분리할 셀로 판단한다. 이 때 세로로 긴 테이블이 행 병합(Rowspan)으로 셀이 합쳐져 있는 경우에는 병합된 셀을 분리한 다음 분리된 셀을 다음 페이지로 넘길 수 있다. 또한, CellOptimize가 None으로 설정된 경우, 인쇄영역을 초과하는 세로 셀은 프린트하지 않는다.These are properties for optimizing vertically long tables. If Vertical is set as the CellOptimize property, the vertical cells that exceed the print area are moved to the next page with the repeating cells to divide the table. Accordingly, in the case of a long-length table, the cell can be separated to the next page based on the bottom margin of the printing paper. In other words, if the cell invades the bottom margin, it is judged as a cell to be separated into the next page. In this case, if the vertically long table has cells merged by row merging, the merged cells can be separated and the separated cells can be passed to the next page. Also, when CellOptimize is set to None, vertical cells exceeding the print area are not printed.
한편, VCellRepeat 속성은 반복되는 세로 셀의 범위를 지정하기 위해 사용되며, 숫자 값이 변수로 사용된다. 이에 따라, 테이블의 내용을 구분해주는 세로 셀을 반복시킬 수 있다. 예를 들어 테이블의 좌측 셀들이 이에 해당된다. On the other hand, the VCellRepeat attribute is used to specify the range of a vertical cell to be repeated, and a numerical value is used as a variable. Accordingly, it is possible to repeat the vertical cell that distinguishes the contents of the table. For example, the left cells of the table correspond to this.
5) CellOptimize All 5) CellOptimize All
가로 및 세로로 모두 긴 테이블을 최적화하기 위한 속성이다. CellOptimize 속성이 All로 설정된 경우, 인쇄영역을 초과하는 가로 셀 및 세로 셀을 반복 셀과 함께 다음 페이지로 이동하여 테이블을 분리한다.It is a property for optimizing long tables both horizontally and vertically. If the CellOptimize property is set to All, the horizontal and vertical cells that exceed the print area are moved to the next page with the repeating cell to separate the table.
6) CellOptimize Divide 6) CellOptimize Divide
테이블에 포함된 하나의 큰 셀을 엘리먼트 단위로 두 페이지로 나누고 나뉜 셀의 하단과 상단에 선을 그어주기 위해 사용되는 속성이다. 테이블의 셀 내용이 길어서 셀을 분리할 수 없는 경우로서 셀에 포함된 다수의 엘리먼트가 하단 여백을 침범하게 되는 경우 셀 전체를 다음 페이지로 분리하게 되면 셀 안의 엘리먼트들도 모두 같이 분리된다. 그러면 원래 페이지의 여백이 지나치게 많아져서 인쇄 모양이 좋지 않다. 이 경우 셀 전체를 다음 페이지로 분리하는 것이 아니라 셀 안의 엘리먼트들을 확인하여 하단 여백을 넘어가는 엘리먼트들만 다음 페이지로 분리할 수 있다.It is a property used to divide a large cell contained in a table into two pages on an element basis and to line the bottom and top of the divided cell. If the cell contents of the table are long and the cells can not be separated, if a plurality of elements included in the cell are invading the bottom margin, if the whole cell is separated into the next page, the elements in the cell are all separated as well. This will result in too many margins on the original page and poor print quality. In this case, rather than separating the entire cell into the next page, the elements in the cell can be identified and only the elements beyond the bottom margin can be separated into the next page.
또한, 중첩 테이블의 경우에도 셀 안의 엘리먼트를 분리할 수 있다. 테이블을 여러 번 중첩해서 쓰는 경우의 웹 컨텐츠가 흔하기 때문에 모든 테이블에 속성을 지정해 주면 셀 안의 엘리먼트를 분리할 수 있다.It is also possible to separate elements in a cell even in the case of a nested table. Since web content is common when tables are nested multiple times, you can separate the elements in a cell by assigning attributes to all tables.
7) Vline 7) Vline
세로로 긴 테이블이 CellOptimize = "Vertical"로 설정되어 분리되어야 하는 경우 하나의 묶음으로 잡을 세로줄의 개수를 지정하는 속성이다. 한 라인으로 묶일 세로줄의 개수를 변수로 가진다.It is a property that specifies the number of vertical lines to be caught in one bundle when a vertically long table is set as CellOptimize = "Vertical". The number of vertical lines to be grouped into one line is used as a variable.
한편, 전술한 확장 태그 및 속성을 이용하여 작성된 웹문서(10)는 다음과 같은 방법으로 프린트된다. 도 3은 본 발명의 일 실시예에 따른 웹문서 프린트 방법을 도시한 전체 흐름도이다.On the other hand, the
도 3을 참조하면, 본 발명에 따른 웹 프린트 엔진(3)은 웹문서에 포함된 개체들을 파싱한다(S100). 파싱된 개체들 중 일반적인 태그 및 속성은 브라우저에 의해 처리되어 화면에 표시된다. 반면, 파싱된 개체들 중 확장 태그 및 속성이 존재하면(S101), 이들은 웹 프린트 엔진(3)을 통해 설정된 인쇄용지에 맞추어 재구성된다(S102). 즉, 설정된 인쇄용지에 맞추어 프린트 포맷이 최적화된다. 이렇게 최적화된 개체들은 비트맵 이미지로 렌더링된다(S103). Referring to FIG. 3, the
특히, 도 4는 본 발명의 일 실시예에 따른 웹문서에 포함된 테이블 프린트를 최적화하는 방법을 도시한 흐름도이다.In particular, FIG. 4 is a flowchart illustrating a method for optimizing table printing included in a web document according to an embodiment of the present invention.
도 4를 참조하면, 테이블 크기가 인쇄영역을 벗어나는 경우(S200), <Table> 엘리먼트의 CellOptimize 속성을 확인한다(S202). 만약, CellOptimize ="Horizon"인 경우 우측여백을 기준으로 가로로 긴 테이블을 잘라 다음 페이지로 넘긴다(S204). CellOptimize ="Vertical"인 경우 하단여백을 기준으로 세로로 긴 테이블을 잘라 다음 페이지로 넘긴다(S206). CellOptimize ="All"인 경우라면 먼저 우측여백을 기준으로 가로로 긴 테이블을 잘라 다음 페이지로 넘긴 다음(S208), 하단 여백을 기준으로 다음 페이지의 테이블을 세로로 잘라 그 다음 페이지로 넘긴다(S210). CellOptimize ="Divide"인 경우 하나의 큰 셀이 복수의 엘리먼트를 포함하고 있는 것으로 셀 안의 엘리먼트를 단위로 하나의 셀을 분리하고 분리된 셀의 하단과 상단에 선을 긋는다(S212). 이에 따라 인쇄영역을 넘는 테이블을 셀 또는 엘리먼트 단위로 적절하게 다음 페이지로 분리하여 최적화하여 프린트 할 수 있다.Referring to FIG. 4, when the table size is out of the print area (S200), the CellOptimize attribute of the <Table> element is checked (S202). If CellOptimize = "Horizon ", the long horizontal table is cut based on the right margin, and the next page is passed (S204). If CellOptimize = "Vertical ", the vertically long table is cut based on the bottom margin, and the next page is passed (S206). If CellOptimize = "All ", first, a long horizontally long table is cut based on the right margin (S208), and the table of the next page is cut vertically based on the bottom margin (S210) . If CellOptimize = "Divide ", one large cell includes a plurality of elements. One cell is divided into units of elements in the cell, and lines are drawn at the lower and upper ends of the separated cells (S212). Accordingly, the table exceeding the print area can be appropriately divided into the next page in units of cells or elements, optimized, and printed.
이제, 셀 반복을 위해 HCellRepeat="숫자"가 설정된 경우 지정된 수의 가로 셀들을 매 페이지마다 반복하여 프린트하고(S216), VCellRepeat="숫자"가 설정된 경우 지정된 수의 세로 셀들을 매 페이지마다 반복하여 프린트한다. 이에 따라 캡션과 같이 테이블의 제목에 해당하는 셀들을 매 페이지마다 반복하여 표시할 수 있다.When HCellRepeat = "number" is set for cell repetition, the designated number of horizontal cells is repeatedly printed for each page (S216). When VCellRepeat = "number" is set, Print. Accordingly, the cells corresponding to the title of the table like the caption can be repeatedly displayed for each page.
이하에서는 보다 구체적으로 확장 태그 및 속성을 구현하기 위한 알고리즘을 살펴본다. 설명의 편의를 위하여 가로로 긴 셀의 경우를 예로 들어 설명하지만 동일한 원리가 세로로 긴 테이블 또는 가로 및 세로로 긴 테이블에도 적용된다. More specifically, an algorithm for implementing extended tags and attributes will be described below. For convenience of explanation, the case of a horizontally long cell is described as an example, but the same principle applies to a vertically long table or a horizontally and vertically long table.
도 5는 도 4에 도시된 테이블 프린트 방법 중 가로로 긴 테이블을 최적화하는 방법(B)을 도시한 흐름도이다.Fig. 5 is a flowchart showing a method (B) for optimizing a horizontally long table among the table printing methods shown in Fig.
도 5를 참조하면, 인덱스를 초기화하고(S300), 테이블의 가로방향 셀이 끝날 때까지(S302) 인덱스를 하나씩 증가시키면서(S308) 셀의 너비를 누적 계산한다(S304). 누적된 셀들의 너비가 인쇄영역을 넘으면(S306), 해당 인덱스의 셀부터 마지막 셀까지 나머지 셀들을 다음 페이지로 이동한다(S310). 전술한 과정을 누적 너비를 초기화한 후 마지막 셀이 될 때까지 반복한다(S312). 이에 따라 가로로 긴 테이블의 경우, 셀 너비를 좌측에서부터 하나씩 누적하여 인쇄영역을 넘는지 관찰하다가 우측 여백을 침범하게 되는 셀부터 나머지 셀들을 다음 페이지로 분리함으로써 가로로 긴 테이블이 잘리지 않고 최적화하여 프린트되도록 할 수 있다.5, the index is initialized (S300), and the width of the cell is cumulatively calculated (S304) while incrementing the index by one (S302) until the horizontal direction cell of the table is terminated (S302). If the width of the accumulated cells exceeds the print area (S306), the remaining cells from the cell of the index to the last cell are moved to the next page (S310). The above process is repeated until the cumulative width is initialized (S312). Thus, in the case of a long-length table, it is observed that the cell width is accumulated one by one from the left to the end of the printing area, and then the remaining cells are separated from the cell which invades the right margin, .
보다 구체적으로, 도 6은 도 5에 도시된 가로로 긴 테이블의 최적화 방법 중 출력영역을 넘는 셀들을 다른 페이지로 이동하는 방법(C)을 도시한 흐름도이다.More specifically, FIG. 6 is a flow chart illustrating a method (C) for moving cells over an output area to another page of the horizontally long table optimization method shown in FIG.
도 6을 참조하면, 인쇄영역을 넘는 셀들을 다른 페이지로 이동하기 위하여, 인덱스를 초기화하고(S400), 다음 페이지에 새로운 테이블의 새로운 행을 생성한다(S402 및 S404). 만약 첫 번째 셀이 가로방향으로 셀 병합(Colspan)된 경우라면 병합된 셀을 분리한 다음 분리된 셀을 다음 페이지로 넘길 수 있다(S410, S412 및 S414). 만약 셀 병합 된 경우가 아니라면 해당 셀을 생성된 테이블의 새로운 행으로 붙인다(S416). 전술한 셀 병합 처리 과정(S410, S412 및 S414)은 병합된 셀의 수만큼 반복될 수 있다(S406).Referring to FIG. 6, in order to move cells over a printing area to another page, an index is initialized (S400) and a new row of a new table is created on the next page (S402 and S404). If the first cell is colspaned in the horizontal direction, the merged cells may be separated and the separated cells may be passed to the next page (S410, S412, and S414). If the cell is not merged, the cell is attached to a new row of the created table (S416). The above-described cell merging process steps (S410, S412, and S414) may be repeated for the number of merged cells (S406).
이해를 돕기 위해 도 7a 내지 도 7c는 가로방향으로 셀 병합(Colspan)된 경우에 출력영역을 넘는 셀들을 다른 페이지로 이동하는 방법을 설명하기 위한 참고도이다.7A to 7C are reference views for explaining a method of moving cells over an output area to another page when the cells are colspaned in the horizontal direction.
도 7a는 테이블 최적화를 수행하기 전의 화면에 표시되는 테이블을 표시한다. 이 때, 도 7b는 가로방향으로 셀 병합(Colspan) 처리된 셀을 셀 병합 해제하지 않고 그대로 셀을 분리한 결과를 나타내며, 도 7c는 가로방향 셀 병합을 해제하고 셀을 분리한 결과를 나타낸다.FIG. 7A shows a table displayed on the screen before performing the table optimization. In this case, FIG. 7B shows the result of separating the cells without performing cell merging in the cells subjected to the cell merging in the horizontal direction, and FIG. 7C shows the result of separating the cells in the horizontal direction and separating the cells.
한편, 본 발명에 따른 웹문서에 포함된 테이블 프린트 방법은 컴퓨터 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 웹문서에 포함된 테이블 프린트 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.Meanwhile, the table printing method included in the web document according to the present invention can be written in a computer program. The codes and code segments that make up the program can be easily deduced by a computer programmer in the field. The program is stored in a computer readable medium, readable and executed by a computer, thereby implementing a table printing method included in a web document. The information storage medium includes a magnetic recording medium, an optical recording medium, and a carrier wave medium.
전술한 바와 같이 본 발명에 따르면, 화면에 표시되는 웹문서의 내용을 변경 하지 않고 확장된 프린트 제어기능을 제공하는 효과적인 웹문서 프린트 방법이 제공된다. 특히, 웹문서에 포함된 테이블을 최적화하여 프린트하는 방법이 제공된다.As described above, according to the present invention, there is provided an effective web document printing method for providing an expanded print control function without changing the contents of a web document displayed on the screen. In particular, a method of optimizing and printing a table included in a web document is provided.
이에 따라, 테이블의 가로 세로가 길어서 안 보이는 셀들을 다음 페이지로 분리하는 기능, 테이블의 셀의 내용이 긴 경우 해당 셀을 엘리먼트 단위로 다음 페이지로 분리하는 기능, 웹 디자이너가 원하는 테이블의 특정 셀을 페이지마다 반복되도록 표시하는 기능 등을 제공함으로써, 인쇄영역을 넘는 테이블을 최적화하여 표시할 수 있다.This function separates cells that are not visible because the table is long and long, and separates the cells into the next page. When the table cell is long, it separates the cell into the next page in units of elements. By providing a function for displaying each page repeatedly, it is possible to optimize and display a table over the print area.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described with reference to the preferred embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050117863A KR100740502B1 (en) | 2005-12-06 | 2005-12-06 | Method of printing tables included in web pages |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050117863A KR100740502B1 (en) | 2005-12-06 | 2005-12-06 | Method of printing tables included in web pages |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070059236A true KR20070059236A (en) | 2007-06-12 |
KR100740502B1 KR100740502B1 (en) | 2007-07-19 |
Family
ID=38355575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050117863A KR100740502B1 (en) | 2005-12-06 | 2005-12-06 | Method of printing tables included in web pages |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100740502B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116861912A (en) * | 2023-08-31 | 2023-10-10 | 合肥天帷信息安全技术有限公司 | Deep learning-based form entity extraction method and system |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010026567A (en) * | 1999-09-07 | 2001-04-06 | 곽민철 | Method of printing HTML documents, System and Recording media |
KR20010107072A (en) * | 2000-05-25 | 2001-12-07 | 김무용 | Method for implementing web browsing having note function of web browser |
JP3997790B2 (en) | 2002-02-15 | 2007-10-24 | コニカミノルタビジネステクノロジーズ株式会社 | Program and style sheet selection device |
JP3985681B2 (en) | 2003-01-15 | 2007-10-03 | セイコーエプソン株式会社 | Print image forming apparatus |
JP2005208809A (en) | 2004-01-21 | 2005-08-04 | Seiko Epson Corp | Document analysis device and method, program for document analysis device, and printer |
KR100585312B1 (en) * | 2004-05-21 | 2006-06-01 | 삼성전자주식회사 | Method for printing web page |
KR101121235B1 (en) * | 2005-03-03 | 2012-03-23 | (주)아이미디어아이앤씨 | Method for Printing Web Page |
-
2005
- 2005-12-06 KR KR1020050117863A patent/KR100740502B1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116861912A (en) * | 2023-08-31 | 2023-10-10 | 合肥天帷信息安全技术有限公司 | Deep learning-based form entity extraction method and system |
CN116861912B (en) * | 2023-08-31 | 2023-12-05 | 合肥天帷信息安全技术有限公司 | Deep learning-based form entity extraction method and system |
Also Published As
Publication number | Publication date |
---|---|
KR100740502B1 (en) | 2007-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2419856C2 (en) | Various types of formatting with harmonic layout for dynamically aggregated documents | |
US7600183B2 (en) | System and method for data publication through web pages | |
JP4154976B2 (en) | Layout system, program | |
US8954841B2 (en) | RTF template and XSL/FO conversion: a new way to create computer reports | |
JP5189497B2 (en) | Form creation system, network system using the same, and form creation method. | |
US8051371B2 (en) | Document analysis system and document adaptation system | |
EP1538534A2 (en) | Generation of a PPML template from a PDF document | |
JP2004240950A (en) | Layout system, layout program, and layout method | |
JP2006350867A (en) | Document processing device, method, program, and information storage medium | |
US20020140982A1 (en) | Digital content production system and digital content production program | |
JP2005537540A (en) | System and method for browser document editing | |
JP5252933B2 (en) | Document processing apparatus, document processing method, and program | |
US20040225962A1 (en) | Layout system, layout program, and layout method | |
JP2008198217A (en) | Browser program, method and device for performing table layout | |
JP5753828B2 (en) | Image processing apparatus and image processing program | |
US20070180359A1 (en) | Method of and apparatus for preparing a document for display or printing | |
CN106560805A (en) | Page layout method of WYSIWYG document editor based on HTML standard | |
CN114625996A (en) | Webpage content paging method and device, electronic equipment and readable storage medium | |
CN112433995B (en) | File format conversion method, system, computer device and storage medium | |
CN104424174A (en) | Document processing system and document processing method | |
US8788926B1 (en) | Method of content filtering to reduce ink consumption on printed web pages | |
KR100740502B1 (en) | Method of printing tables included in web pages | |
US7493557B2 (en) | Source file generation apparatus | |
KR20070035335A (en) | Method of printing web page | |
JP2011118818A (en) | Image processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Publication of correction | ||
FPAY | Annual fee payment |
Payment date: 20130625 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140620 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150710 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160704 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20170626 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |