CN1607522A - User interface for creation and editing of variable data documents - Google Patents

User interface for creation and editing of variable data documents Download PDF

Info

Publication number
CN1607522A
CN1607522A CNA2004100769091A CN200410076909A CN1607522A CN 1607522 A CN1607522 A CN 1607522A CN A2004100769091 A CNA2004100769091 A CN A2004100769091A CN 200410076909 A CN200410076909 A CN 200410076909A CN 1607522 A CN1607522 A CN 1607522A
Authority
CN
China
Prior art keywords
container
space
whole page
edge
rule
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.)
Pending
Application number
CNA2004100769091A
Other languages
Chinese (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.)
Canon Inc
Original Assignee
Canon Inc
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
Priority claimed from AU2003905659A external-priority patent/AU2003905659A0/en
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN1607522A publication Critical patent/CN1607522A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • 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/174Form filling; Merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Document Processing Apparatus (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

Methods and apparatus for variable document printing are disclosed in which a graphical user interface is configured to allow user manipulation of layout rules associated with content containers within a template for variable document generation. One method involves creating a layout for a variable data document based upon a template. The method firstly sets at least one container in the template to form the layout, and then establishes at least one constraint associated with each selected one of at least one feature of the container, the establishing including, for each feature, detecting a user instigated selection of the corresponding feature. The layout is then modified to thereby generate the document by placing content into the containers, wherein at least one dimension of the least one container and/or a position of the at least one container in the layout are varied based on a property of the placed content on a condition that each constraint in the layout is satisfied.

Description

Be used to create user interface CROSS-REFERENCE TO RELATED PATENT with editing of variable data documents
The application requires to enjoy the right of priority that the application number of submitting on October 15th, 2003 is 2003905659 Australian patent application, and this patented claim is by with reference to being included as a whole interior, just look like set forth fully at this same.
Technical field
The present invention relates to be used to create, edit and print the software implementation method and the processing of the document of forming by text and figure, and relate in particular to establishment, editor and the printing of variable data documents.
Background technology
Variable Data Printing
Traditionally, when the printing large volume document, the printing treatment of use is the simulation process that needs the physical representation of document.These physical representations comprise bromide and/or the galley that must make before printing.This means: it is expensive generating the customization document, and the large volume document operation is usually directed to print many parts of identical documents.
Can use digital printed processing to generate the customization document, wherein need not before printing, to prepare the physical copy of document.Up to date, or be the digital processing costliness, or be exactly that effect is poorer than the quality that traditional simulate press processing produces.
Yet in the past 5 years, the progress of digital printed aspect has significantly reduced the cost of creating high-quality customization document.These progress have made that Variable Data Printing is more and more general.Variable Data Printing software is just becoming and can be used for allowing document author not only to create single document and can create relevant documentation family, and wherein every piece of document all is the expection reader customization for it.
In order to make high-quality custom printed practical, need to solve several problems.A problem is the quality of print product.Up to date, digital processing can be near the resolution of traditional printing processing.Another problem is to need mass data to represent high-quality document with digital form usually, particularly when document comprises many high-definition pictures.This makes can not will be sent to digital printer by computer network with customizing document electronic in a large number.The 3rd problem be, compares with simple documents, and the customization document needs more make great efforts and technical ability is created and safeguarded usually.The customization document is created by variable data is inserted in the document template.Document template is the document with the room that is used to insert variable data.Document template can comprise some by many document data shared, and has defined the information of how to arrange each customization document, and wherein customizing document is by generating in the variable data room that data is inserted into template.Can handle the different big or small data or the data item of disappearance because the space of a whole page of the page need be defined as, so creation variable data template is than creating simple documents difficulty more.In addition, also need to define and safeguard relation between template and the data.Equally, often need database technical ability, so that can utilize the Variable Data Printing technology to create the customization document.
The quality of digital printed hardware has been brought up to the degree that its effect can compare favourably with the effect that high-end simulate press generates, and its cost also significantly descends simultaneously.New standard such as PPML allows will organize relevant documentation via network more and send to printing machine under the situation that does not send a large amount of repeating datas.This has reduced the required network bandwidth of Variable Data Printing.
For the complexity problem of the creation and the management of variable data documents, be easy to solution.Custom printed was used in Word many years roughly with the form of " mail merging ", only supported the space of a whole page of each output document is carried out very rough control but mail merges.That up-to-date Variable Data Printing software allows to create is complicated, the space of a whole page flexibly, this space of a whole page be adapted to may be different in each document the data item size and dimension, complicated but these application programs remain, and be difficult to use.
Space of a whole page model
Usually, the file organization that will comprise text and figure is the set of dissimilar project.Project can be text, figure or the abstract object as other kind of project set such as group.Space of a whole page project has rectangular shape usually, perhaps has the rectangular area.How each application program allows is used to define the rule of arranged items, represents a space of a whole page model.In the Variable Data Printing application program, rule must define how to calculate the space of a whole page when the project size changes.
Layering space of a whole page model
Current Variable Data Printing solution uses hierarchical model to define the space of a whole page usually.These model class are similar to HTML and the employed model of XML document.The example of this class model is CSS box model (CSS box model) and XSL:FO.In this type of space of a whole page model,, the rectangle project is arranged in the rectangle layout area by in layout area, pile up the rectangle project horizontal or vertically.
Except level and vertical stacking, the more common alternatives of the another kind of some application program support is to allow to pile up project with vertical row or horizontal line mode, as a few style of writing words on the page.In the space of a whole page of this kind form, improperly if project is too many in delegation or row, then begin a new row or column, and the project that exceeds " line feed automatically " is to next line or next column.This literal that is similar in the word processor enters a new line automatically.The application program that may alter a great deal for the size of the page or layout area, such as weblication, the mode of this arranged items is the most useful.For the Variable Data Printing application program; pile up not too usefully, this is because in the Variable Data Printing application program, and the quality of the space of a whole page is normally important; and when project entered a new line next line or next column automatically, the space of a whole page can make the people feel uncomfortable usually.
In layering space of a whole page model, can define the space of a whole page of complexity by using project team.Group is the rectangle space of a whole page project that comprises other project, and comes down to a space of a whole page.Project in the group is arranged in the border rectangle of group.
Can utilize the alignment thereof option that space of a whole page mean terms destination locations is controlled, for example, the project in the vertical stacking can left-justify, so that make project always be positioned as close to the left side of the rectangle that comprises vertical stacking.Can associate alignment thereof and group, so that all items in the group has identical alignment thereof, perhaps each project in the group can have corresponding related alignment thereof option.Usually support multiple alignment thereof option, comprise placed in the middle, left-justify and Right Aligns.
Utilize the back gauge related with projects or with the space of a whole page that comprises or the related back gauge of group, also can the control item destination locations.Back gauge has defined the minimum allowable range between two adjacent projects.
Model based on constraint
Compare with the more common model based on constraint of previous exploitation, current layering space of a whole page model is easier to understand.Model based on constraint has been used for computer-aided design (CAD) (CAD) application program, user interface structure and window management.In user interface structure application program, arrange to as if widget such as button and input area.In the window management application program, arrange to as if be used to represent the window of Data View, it is as the part of the user interface of computer operating system.
In user interface structure application program, use dynamic space of a whole page constraint, with the variation that allows graphic user interface (GUI) to be suitable for different screen resolutions and such as using different fonts and size text, to cause.Dynamically the space of a whole page has been simplified the process of constructing multi-platform user interface.
In the window management application program, the user can use dynamic constrained, is created in interpolation, deletion during window or the relation between the window that keeps when window changes size or position.
The CAD application program relates to very common geometrical constraint, and space of a whole page model is complicated more, more is difficult to use, and slower than document space of a whole page model to the calculating of the space of a whole page.For example, be used for some constraint solver of CAD application program, support two appointments that line segment is parallel, and two parallel linear equations that can't use of line segment represented.
If may need to upgrade the space of a whole page many times at graphics edition operating period per second, then the employed space of a whole page model based on constraint of user interface (UI) and window management application program must be enough fast, so that often mutual the use, so, space of a whole page method needs enough fast, to support this generic operation.This type of application program is used special-purpose constraint solver to carry out the space of a whole page usually and is calculated.The employed constraint solver of these application programs is supported linear restriction usually, and linear restriction can be expressed as linear equation (being linear equality) or linear inequality or these two.Usually, this type of constraint solver also has an objective function that the quality of separating is defined.The target of constraint solver is under the condition of not violating any constraint, minimizes the value of (or maximization) objective function.If objective function also is linear, then this type of problem is called linear programming.This type of problem is very known optimization problem, and has the algorithm known of finding the solution this type of problem.Usually utilize a kind of algorithm that is called as the simple form algorithm to find the solution this type of problem.
Suppose by one group of constraint and an objective function to have defined a space of a whole page problem, this problem may be constraint, so that do not separate.As selection, this problem may be a underconstrained, so that many separating arranged, perhaps has one and separates.For the space of a whole page is calculated, space of a whole page model must guarantee that the space of a whole page has one to separate just.A kind of method that realizes it is, do not separate or many separating arranged to user report, and allow the user to revise this problem.This is not a kind of acceptable solution usually, and being provides about why this problem was the significant information of constraint or underconstrained to the user because be difficult to.If system was constraint, then many constraints may simultaneously mutual contradiction.If system is a underconstrained, how preventing then that the user from adding the constraint of contradiction neither be obvious.When using graphical interfaces that constraint is edited, this point is difficulty especially.
Avoiding not having a kind of known method of separating is, constraint-prioritized level is divided into so-called constraint level.If do not have for constraint and to separate, then ignore constraint according to the reversed sequence of priority, until have separate till.
Avoid a kind of known method of underconstrained problem, be to use non-linear objective function.If use suitable strictly convex function, then problem always has unique solution.Usually using the secondary objective function, is because there is the known technology that solves the optimization problem that has linear restriction and secondary objective function.Wherein the simplest is improved simple form algorithm.
Generating another problem of variable data documents, is that the document that is generating is carried out preview.Word processor and desktop printing application program are used " print review " function usually, so that help the user before submitting printing to comprehensive assessment to be carried out in its work.When needs preview large volume document, this requires great effort very much.
Summary of the invention
The objective of the invention is to: overcome basically or improve the problem that one or more and variable document printing is associated at least.
According to an aspect of the present invention, disclose a kind of method of the space of a whole page based on the template establishment variable data documents, this method may further comprise the steps:
At least one container is set, to form the space of a whole page in this template;
Set up each selected feature constraints associated at least one feature of at least one and this container;
Use graphic user interface (GUI) to show to set up by establishment step, with by the container constraints associated that step is provided with is set; And
Revise the space of a whole page, so that generate document by content is placed in a plurality of containers, wherein under the condition of the constraint of each in satisfying the space of a whole page, according to the attribute of institute's placed content, change the size of one dimension at least of this at least one container and at least one in this at least one container position in the space of a whole page.
Also disclose other aspects of the present invention simultaneously, comprised the device and the computer program that are used to carry out this method.
Description of drawings
Following with reference to description of drawings at least a embodiment of the present invention, wherein:
Figure 1A represents to be used for the computer system configurations of Variable Data Printing;
Figure 1B is the schematic block diagram of the computer module among Figure 1A;
Fig. 2 represents to be used for another alternative computer system configurations of Variable Data Printing;
Fig. 3 represents the example of application main window, and this main window comprises menu bar, toolbar, workspace and float palette;
Fig. 4 has represented screen, instrument and an icon, so that various aspects of the present disclosure to be described, comprises first kind pillar, anchor point and slide block between exemplary containers establishment, container;
Fig. 5 A-5D represents the first exemplary containers rule;
Fig. 6 A-6C represents the 3rd container rule;
Fig. 6 D and Fig. 6 E have described the process flow diagram that container area is created;
Fig. 7 A-7B represents a text container with three hurdles, and the method for and gutter width size wide by the direct control adjustment hurdle that uses indicating equipment;
Fig. 8 has represented screen, instrument and an icon, with the synchronous operation of description character size;
Fig. 9 has represented screen, instrument and an icon, operates apart from adjusting automatically with the explanation internal edges;
Figure 10 is illustrated in and adds pillar between the edge of two containers so that the method that the constraint of adjusting the distance is described;
Figure 11 has represented screen, instrument and an icon, with the operation of several features (feature) (comprising the pillar between second exemplary containers) of explanation user interface;
Figure 12 has represented a screen, so that the not operation of fixed guide to be described;
Figure 13 and Figure 14 represent data source selection method;
Figure 15 represents to be used for the user interface that data source is filtered;
Figure 16 and Figure 17 represent a user interface, are used for the method in browsing data source in order to explanation;
Figure 18 represents an example user interface, with the variable of explanation data source and the method that is used for the browsing data source;
Figure 19 represents a user interface, is used for the variable of data source is associated with variable document template;
Figure 20 represents a user interface, is used for the data source content that on-the-spot check and correction and variable document template merge;
The width of Figure 21 A and Figure 21 B represent to be used for the selectivity check and correction a kind of container that utilizes each document and highly calculate common document and the method for maximum difference document;
Figure 22 is an exemplary space of a whole page, is used to illustrate space of a whole page project and the constraint of importing as space of a whole page method;
Figure 23 has only represented the vertical constraint corresponding to the example among Figure 22;
Figure 24 is the digraph of the vertical constraint among expression Figure 23;
Figure 25 is illustrated in and carries out step related when promoting operation;
Figure 26 represents a step that alternative implementation is related promoting to operate;
Figure 27 A-27F represents the promotion operation example used, and wherein Figure 27 A and Figure 27 B represent to promote the reference position of operation example, and in the interstage that Figure 27 C and Figure 27 D represent to promote operation example, Figure 27 E and Figure 27 F represent to promote the result of operation example;
Figure 28 represents based on the high-level steps in the space of a whole page calculating of figure;
Figure 29 represents based on the high-level steps in the space of a whole page calculating realization of figure;
Figure 30 A represents to calculate the value that how reduces energy function by mobile vertical marker based on the space of a whole page of figure;
Figure 30 B represents that it comprises the processing to the dead center rule based on the another kind of implementation of the space of a whole page method of figure;
How Figure 31 calculates the distance that moves a group echo in being illustrated in and calculating based on the space of a whole page of figure;
When Figure 32 is illustrated in a group echo is promoted to the right, to the forward mark group that promotes and oppositely the mark group calculate related step;
Figure 33 A-33C has shown that difference how to utilize basic model represents to come the minimum and the maximum height of regulation container;
Figure 34 be revise container in the space of a whole page marginal position and with the interactional process flow diagram at other edge;
Figure 35 is the process flow diagram that is used for another promotion operation example of editing template document;
Figure 36 is the process flow diagram that generates and print the method for variable data documents;
Figure 37 A-37D represents and the corresponding exemplary space of a whole page of Fig. 4 and mode that the various constraints in this space of a whole page are stored;
Figure 38 has illustrated and has used height and width bar to represent that the container in the second container rule retrains;
Figure 39 is illustrated in the usage example of the space of a whole page engine of operating on the one-dimensional space;
Figure 40 A and Figure 40 B are illustrated in the usage example of the space of a whole page engine of operating on the two-dimensional space;
Figure 41 A-41K has described that text in container is arranged and how it may be subjected to the influence of container shapes; And
The building method that Figure 42 A-42C represents.
Embodiment
1. general introduction
Disclose a kind of variable data documents and created and print system, it preferably is implemented as a software application.This application program allows to create many pieces form is similar but document that its content is different.This can be by creating and Edit Document template and the regional and various data on the document template are associated realizes.
A document template can comprise a plurality of containers, and wherein each container is configured to preserve the content such as text or view data.The position of container and size can be fixed, and perhaps can change because of document is different aspect size or the position according to user-defined rule.The content of these containers can be static or variable (that is, depending on some data source such as database).
The user can stipulate the Various types of data source of data therefrom.Data source comprises a plurality of data recording.Application program provides and has been used for mechanism that the container of data and document template is associated.
Then, according to the association between the container in data source and the document template, the data in document template and the data source " merging " are got up, so that generate a plurality of documents.Usually, be every in data source record or document of every group record generation.Then can be as required with document storing to disk or print.
These schemes compared with prior art provide many independent advantages.For example, unlike the prior art, when document template was edited, the user can select always to check one of merge document.This is owing to document template and data are dynamically to merge.Therefore, when editing template, might see at least generating one of document looks what is, and need not in prior art, must can see just document (rather than document template) looks what is to specific preview area.
Show the constraint (it has determined container can move and varying sized mode) of relevant container in position, and must arrive independently screen or zone need not in prior art, but can in position the constraint of relevant container be edited by clicking each position on the container.Compared with prior art, this has simplified the establishment of document template.
2. implementation general introduction
Basic implementation is that variable data documents is created and the printing application program, and it comprises at least one user interface and a space of a whole page engine.A kind of concrete implementation is to be connected with the software of carrying out on the personal computer of printing machine.In another kind of implementation, application program is implemented as the software that can carry out on the processor in being embedded in printing machine or print controller, and wherein printing machine or printer controller support are to the printing of variable data documents collection.In another kind of implementation, application program is implemented as the software that can carry out on the web server, and wherein the web server can be provided as the document of viewer's customization.These implementations also are included in this software when carrying out on the suitable hardware unit.
Variable Data Printing is meant the set of printing relevant documentation.In immutable data printing, document is printing separately, and the data of each document are to send to printing machine separately usually.In Variable Data Printing, will comprise that the presswork of a plurality of relevant documentations sends to printing machine.Usually, the document in the Variable Data Printing operation comprises the shared cell that occurs in a plurality of documents.Usually each operation of these data only sends once to printing machine, rather than is that every piece of document repeats to send.When the operation of printing Variable Data Printing, the data of sharing are inserted in each document.This may require, and the space of a whole page to document file page calculates when print page.In this case, space of a whole page method may be the part of the software in printing machine or the printing machine server.More generally, the space of a whole page to every piece of document on client computer calculates, and the space of a whole page is sent to printing machine as the part of presswork, and in this case, space of a whole page method is carried out on client computer.
3. system description
Figure 1A represents to be used to print the system 100 of variable data documents.Can be in the multi-purpose computer module 101 that Figure 1B describes in detail, implement method described here, wherein can realize described processing whole or in part with software (such as make-up editor's application program 121 of in computer module 101, carrying out and can in system 100, move).Especially, the instruction in the software that computing machine 101 carries out be can utilize, make-up editor and print steps subsequently realized.This software can be stored in the computer-readable medium, computer-readable medium for example comprises memory device described below.From computer-readable medium with this software loading in computing machine, and carry out by computing machine 101.The computer-readable medium that records this type of software or computer program on it is a computer program.The program product that uses a computer in computing machine preferably produces a kind of favourable device that is used for document make-up editor and the printing of variable document.
Computer module 101 is connected to input equipment and the indicating equipment such as mouse 133 such as keyboard 132, and is connected to the output device that comprises display device 144, and is connected to local printing machine 145 alternatively.Input/output interface 138 can connect 107 via network, computer module 101 is connected to other computing equipment of system 100.Network connects 107 and is generally Local Area Network or wide area network (WAN).
Computer module 101 generally includes at least one processor unit 135, a memory cell 136 and I/O (I/O) interface, wherein memory cell 136 for example is made of semiconductor RAM (RAM) and ROM (read-only memory) (ROM), and I/O (I/O) interface comprises video interface 137 and is used for keyboard 132 and the I/O interface 143 of mouse 133.A memory device 139 is provided, and this equipment generally includes hard disk drive 140 and floppy disk 141.Also can use the tape drive (not shown).CD-ROM drive 142 is provided as non-volatile source of data usually.Known as various equivalent modifications, the operating system that computer module 101 uses such as GNU/Linux or Microsoft Windows, and the assembly 135 to 143 of computer module 101 communicates via interconnect bus 134 according to operating system usually, and its communication mode has produced the routine operation mode of the computer system that forms thus.The computing machine example of institute's description scheme be can implement thereon, IBM-PC and compatible thereof, Sun Sparcstation or the similar computer system of deriving thus comprised.
Usually, make-up editor's application program 121 resides on the hard disk drive 140, and reads control by processor 135 in it is carried out.By using semiconductor memory 136, may with hard disk drive 140 cooperations, can realize intermediate storage to program 121 and the arbitrary data that from network 1020, reads.In some instances, can be by application program 121 be encoded on CD-ROM or the floppy disk, and via corresponding driving device 142 or 141 it is read, application program 121 provided to the user, perhaps alternatively, application program 121 can be connected on 107 by users from networks and reads.In addition, also can be from the computer-readable medium of other suitable size with software loading in computer module 101, described medium comprise wireless or Infrared Transmission channel, the computer-readable card such as pcmcia card between tape, ROM or integrated circuit, magneto-optic disk, computer module 101 and another equipment and comprise mail transfer and the website on the Internet and the Intranet of the information that writes down etc.It below only is the example of associated computer-readable media.Can use other computer-readable medium.
Make-up editor's by name application program 121 also operate in order to execution Variable Data Printing (VDP), and this program comprises two component softwares simultaneously.First assembly in these assemblies is a space of a whole page engine 105, and it is to be used to calculate the rectangle with given constraint and size and the software of the position of lines in the rectangular area.Second assembly-user interface 103 assembly provides a kind of mechanism, is used for allowing the user to construct document template and the zone and the data source of document template associated.User interface 103 and space of a whole page engine 105 communicate via communication channel 123.Be used for data source that document generates and normally reside in database 119 on the database server 117, database server 117 is made of another computing machine of runtime database application program thereon usually.Main frame 101 communicates with database server 117 by means of network connection 107.Variable Data Printing application program 121 generates document template, and the document template can be saved on main frame 101 or the file server 115, and wherein file server 115 is made of another computing machine usually.Variable Data Printing application program 121 also generates the document that is formed by the document template pooled data.Can be saved on the file server 115 in the local file system of these document storing to the main frame 101, or directly send to printing server 109 or printing machine 113 is used to print.Printing server 109 is computing machines, is used for providing network capabilities to the printing machine that can not directly network.To print server 109 is connected via typical communication channel 111 with printing machine 113.
Except having increased engine server 227, Fig. 2 and Fig. 1 are similar, and wherein engine server 227 comprises the standalone version 225 of space of a whole page engine 105.Engine server 227 is another normatrons.Can make up by the data of space of a whole page engine 225,, be used for printing or other purpose so that generate document with storage in the document template of storage on the file server 115 and the database 119.Can ask this generic operation by user interface 103, perhaps physical record of requested printing only.
4. main window
With reference to Fig. 3, user interface 103 comprises the graphic user interface that is made of application window 301, when operation, application window 301 is presented on the video display 144.Window 301 is characterised in that menu bar 302, toolbar zone 303, workspace 306, optional float palette 311 and cursor/pointer equipment 313, wherein the diverse location on the screen can be separated and move in toolbar zone 303 in some implementation, and the position of cursor/pointer equipment 313 is associated with the position or the motion of mouse 133 usually.
Menu bar 302 has many menu items 304, and is common in prior art, and it expands to the hierarchy of menu option when being activated.
Toolbar 303 has many tool button or widget 305, can each is hidden or shows to it according to the AD HOC of application program.
Optional scale 308 can be used in reference to first finger pin, the page, lines, back gauge guide, container or the position of other object in the workspace.Scale 308 can show the numeral indication of used unit, and used unit for example is inch, millimeter or pixel.
Float palette 311 can be used to visit the additional function such as the variable data storehouse.Palette 311 has its distinctive window control 312, and these window control 312 permissions are moved, adjusted size to palette 311 or close.Alternatively, palette 311 can remain on the front of workspace always, perhaps can be hidden in the back of other object.Can limit within the scope that 311 of palettes appear at application window 301, perhaps can allow it partly or entirely to appear at outside the application window 301.
With reference to Fig. 4, shown toolbar zone 303, it has the optional icon of following at least user " button ":
Selection tool button 403: be used for to container edge select, move, convergent-divergent, adjustment size and lock/unlock.By dragging choice box around container or when selecting container, pressing the CTRL key simultaneously, can carry out multiple selection to container.
Image container tool button 405: be used to create the container that is used to preserve static state or variable image.
Text container tool button 404: be used to create the container that is used to preserve static state or variable text.
Pillar tool button 406: be used for the distance between the container is controlled.
Just as is known in the art, can utilize the ToolTips of context-sensitive to realize this type of button.
5. document template
Workspace 306 is used to check the design with the Edit Document template.This allows the printing outward appearance of the document that user's design preparing, and according to the quantity and the size of the variable data that is merging with document template, understands each merge document and how to change.
If external data source has been linked to this template, then in its container, show variable text and image, thereby make the user can be when they work the current document of preview.
Whenever user's scroll cursor or when selecting container, just the visual cues to the behavior of having described file structure and variable data container thereof shows.
Workspace 306 is characterised in that scroll bar 307, optional scale 308 and document template 309.Document template 309 can show a plurality of pages.
Just as is known in the art, the page size of given document template is by user-defined.Real page number in each document can depend on variable data and change.On a page, then create additional pages automatically if be unsuitable for so that video data.
But in each page boundary the Page selectable back gauge 310 of the maximum magnitude of printing object on the indication page.
Fig. 4 also shows the example of a plurality of objects, and these objects may appear on the page of document template 309, and they are: a plurality of containers 407 and 408, the optional anchor point icon 409 of feature, unfixed edge 410, pillar 412 and slide block 413.
6. container
Container is the space in the document template, wherein can place static state or dynamic content such as text or image, and other container or object.Can be by as utilizing 313 pairs of containers of indicating equipment to operate described, and control by mouse 133 in user interface, to container move, convergent-divergent and adjustment shape.
More precisely, container has the set of setting, visual appearance and mutual and edit action.Below be whole definition of container:
Container can have static state and/or dynamic content.Dynamic content is dynamic, is meant that it derives from data source, and may be different for different documents.Not planning to make dynamic content to comprise content animation or time dependent, is because this type of content is not suitable for printing.Similarly, static content will be identical in all documents that use this container to generate, although because the effect of dynamic content may be placed different static contents for each document.
Container can have decorative characteristics, and such as background color, border, text setting such as font and font, this type of feature application is in the content of container.
Can merge container when generating document and from the data of data source.Decorative characteristics is visible usually in printed matter, just as any static content.Dynamic content will cause occurring coming from the particular data of data source.For example, can print this expression of container, or on screen 144, show that perhaps both have both at the same time.
Container can have a user interface, for example is used for the interactive graphics (IG) user interface that setting is edited and checked to container.Interface assembly appears on the screen 144 usually, rather than appears in the printed document.User interface 103 can show some decorative characteristics of container, such as background color or font, and can add feature, so that permission is edited the setting of container and checked.The example of dedicated user interface feature is, be used for border icon or angle icon that size or position to container show alternately and change, or when merging, be used to refer to covering numeral, lines, icon or the text of the behavior of container with container with from the data of data source.
An aspect of the present disclosure is one group of new direct control technology, and the display packing that relates to the gui component of container.
6.1 container constraint
According to the disclosure, a container can have some constraints, and this constraint is controlled in each document and how associated content is shown.These constraints are that the user is to generating the main method that a plurality of documents are controlled from single document template together with the method that static and dynamic content are associated with container.An example of constraint is " maximum height of the content of this container is four inches ".Another constraint may be " left hand edge of the content of this container must appear on the identical horizontal level in each document ".Described herein is to be used to a group of methods of utilizing graphic user interface that this type of container is shown and edits.
The content placeholder that the position of static content is stipulated is well-known in digital printed field, and wherein static content for example is the image that has a certain definition position on the page.In the following discussion, can suppose that container has position and size, and can with prior art in similarly mode it is shown and edits.On the contrary, the disclosure concentrates on special demonstration and edit methods for Variable Data Printing.
Container allows size and the position of user's specified content in document.Owing to can generate some documents from single document template, so container must have and is used for user interface that multiple possibility and constraint are stipulated and shown.
Virtual boundary of edge definition of container, the associate content in the border will appear in the document.Therefore, in patent specification, the left hand edge of container is discussed, can be equivalent to discuss the leftmost edge that in any document that generates, can show the position of associate content.Equally, the height of container is discussed, is can be understood as the relevant constraint of discussing with associate content in any document that generates of height.When patent specification was discussed the edge of containers or size with reference to user interface 103, more than difference will be more readily apparent from.
In the following discussion, to have defined certain value that is used for the control content outward appearance be identical at all documents to term " fixing ":
If the width of container is fixed, the width that then this means associate content and allowed will be identical in all documents.
If the height of container is fixed, the height that then this means associate content and allowed will be identical in all documents.
If distance restraint is fixed, then specified distance is a constant for all documents.
If the left hand edge of container or right hand edge are fixed, this means that then the horizontal level with respect to this this edge of page all is identical for all documents, but can the height or the upright position of container be changed.For example, if the left hand edge of container is fixed, then associate content can occur near the top of this page in a document, and can occur near the bottom of this page in another document, but left hand edge will have identical horizontal level in all situations.
If the top edge of container or feather edge are fixed, this means that then the upright position with respect to this this edge of page all is identical for all documents, but the width of container or horizontal level can change.
The Z-axis of container is left hand edge and the centre position of right hand edge and the imaginary perpendicular line parallel with left and right edges that is positioned at this container.If the Z-axis of container is fixed, then the mean value of the horizontal level of the left hand edge of this container and right hand edge all is identical for all documents.Utilize this constraint, can the width of container be changed, therefore in different document left hand edge and right hand edge can away from or near Z-axis, but for all documents, Z-axis remains on same horizontal level.The height of container and upright position are not subjected to this effect of constraint value.
Similarly, if transverse axis is fixed, although then highly be not subjected to this effect of constraint value, the top edge of container and feather edge are perpendicular positionings.
If transverse axis and Z-axis are all fixed, this means that then the central point of container is fixed, but its width and highly be not subjected to this effect of constraint value.
If the mid point at certain edge of an angle of container, container or the central point of container are fixed, this means that then this point appears at same position in all documents, and appear at same position with respect to this container.For example, if the upper left corner of container is fixed, the upper left corner that then this means the position that its content may be placed all is identical for all documents.
Can be with respect to left hand edge, right hand edge, left margin distance, right margin distance or certain other horizontal level of the page, fixed vertical edge or Z-axis.Similarly, can be with respect to top edge, feather edge, back gauge or certain other upright position of the page, fixing horizontal edge or transverse axis.Because if page size is identical for all documents, then above-mentioned possibility is as broad as long in the document that generates, so when having only page size to change between document, the nuance of term " fixing " is just meaningful.
The antisense of " fixing " is " unfixed ", and it means that edge, axle, angle, mid point or distance restraint can change between document, but not necessarily so in one group of specific document.For example, the external constraint that may exist other position that in fact prevents the edge to change still, if do not use those external constraints then the fact that the position at this edge can change, means to be unfixed with this edge labelling still.
6.2 container state
" rim condition " of container is defined as the set of 8 attributes, and as mentioned above, attribute can be " fixing " or " unfixed ", and these attributes are left hand edge, right hand edge, Z-axis, top edge, feather edge, transverse axis, width and height.Because the edge also may be subjected to the influence of other constraint such as minimum or the setting of largest container size, perhaps is subjected to the influence of the position of other container, so rim condition may not limit the position at an edge fully.Therefore, " rim condition " only refers to the state complete or collected works' that container may have a part.
In most implementation, rim condition is important, derive because the graphic user interface of container partly is the mapping on from the rim condition to the diagrammatic representation, and be that the direct control represented from edge and container is to the mapping in the adjustment of rim condition is derived.
More preferably, whole states of container just do not comprise rim condition.Container can have the minimum of width and height and maximum the setting, and this is provided with further controls the position at edge.Internal edges is apart from controlling the position that can show associate content, and display position influences the position that container edge can be placed then.Text font, font, size and alignment thereof setting and image cut, convergent-divergent etc. also can be used as the part of container state, and influence position, size and the outward appearance of content.Such as the decoration setting of background and border color, boundary line pound weight, line style etc., also be the part of each container state.Simultaneously, above-mentioned aspect may not can influence the position of content in document, but they will influence outward appearance.
In some implementation, rim condition comprises above-mentioned 8 attributes, and attribute can be that fix or unfixed.Page size can not change, and therefore, term " fixing " does not have further determiner here.These 8 attributes produce 28 kinds of different rim conditions, i.e. 256 kinds of possibilities.
Do not need to use these whole 256 kinds of rim conditions.For example, consider following state: the left hand edge of container is fixed, and Z-axis is fixed, and right hand edge is unfixed.Because Z-axis is fixed, so for all documents, the distance from the left hand edge to the Z-axis must equate with the distance from the right hand edge to the Z-axis.Because left hand edge also fixes,, this means that right hand edge also fixes so for all documents, left hand edge is a constant apart from the distance of Z-axis.
Some implementation has been carried out modeling to a subclass of rim condition, and wherein each all presents unique behavior.Because its behavior is equal to some other states, so in all implementations, do not use above-mentioned rim condition.A kind of optional implementation may adopt this type of state, and in user interface it is represented, as the method that modeling was fixedly simulated and edited rather than the container behavior of uniqueness is carried out in the edge whether.
A kind of concrete implementation is used 36 kinds of container states, and it is that product by the vertical constraint of the horizontal restraint of 6 kinds of uniquenesses and 6 kinds of uniquenesses forms.
The horizontal restraint of relevant container is:
1. left hand edge, right hand edge, Z-axis and width are unfixed;
2. have only left hand edge to fix;
3. have only right hand edge to fix;
4. left hand edge and right hand edge are all fixed;
5. have only Z-axis to fix; And
6. width is fixed, but left hand edge, right hand edge and Z-axis all are unfixed.
The vertical constraint of relevant container is:
1. top edge, feather edge, transverse axis and highly be unfixed;
2. have only top edge to fix;
3. have only feather edge to fix;
4. top edge and feather edge are all fixed;
5. have only transverse axis to fix;
6. highly fix, but top edge, feather edge and transverse axis are unfixed.
If term " fixing " has determiner, for example, if each edge or axle are fixed with respect to the left hand edge or the right hand edge of the page, then this will produce the unique rim condition more than 36 kinds.
Notice, in above-mentioned tabulation, be labeled as the constraint of " left hand edge and right hand edge are all fixed ", have and " left hand edge, right hand edge, Z-axis and width are all fixed " and " left hand edge and Z-axis are fixed " and the identical behavior of other several similar constraints.Because if rim condition adopts less " fixing " constraint, then use visual cues to represent that the implementation of various " fixing " notion can adopt less this clue, so fairly simple symmetry constraint is normally first-selected, this compares with other situation can produce less VC.
As described below, an aspect of the present disclosure associates the diagrammatic representation of rim condition and container and edit methods.
6.3 show and editor's container
6.3.1 create the method for new container
Two class containers have been described: text container and image container.The text container is preserved the image of text and/or embedding.Image container is only preserved image.
With reference to Fig. 4, respectively text container instrument 404 or image container instrument 405 are clicked by using mouse 133, in document template 309, drag rectangle then, can in document template 309, create new text container and image container.
Alternatively, by after activating proper implements 404,405, in document template 309, clicking, can create simply container.Perhaps insert container, perhaps provide dialog box or other prompting to be used to import the size of new container with default size.Predefined according to certain or calculate scheme can be created automatically and place some container.Can design other alternatives.
6.3.2 show the method for container
More preferably, every kind of state in above-mentioned 36 kinds of rim conditions is mapped in the diagrammatic representation.Can have to be less than 36 kinds diagrammatic representation, because some rim condition is shared an expression in some cases.
Fig. 5 A-5D represents the first exemplary edge rule of container.
Application program 121 is depicted as solid line (referring to project 503) or dotted line (referring to 504) with the edge, and it is characterized in that anchor point (drawing on the edge or near it, and constitute by the lines shown in 506,507,509, shape and/or icon), handle (at the edge or in shape or near the reference mark of drawing it, with permission it is moved or revises, referring to 502), slide block (the short parallel lines of drawing at the either side at edge, referring to Fig. 4, label is 413 project), increase icon (referring to 505) and color, in order to the expression rim condition.
The rule that is used for the container display packing of Fig. 5 A-5D is followed successively by:
1. for every built-in edge, this edge is depicted as solid line;
2., then left hand edge and right hand edge are depicted as solid line if width is fixed;
3., then top edge and feather edge are depicted as solid line if highly fix;
4. do not draw axle;
5. all edges that will not draw as yet are depicted as to draw near every edge growth chart target dotted line;
6. for every pair of vertical edge and/or Z-axis,, then on its intersection point, draw an anchor point if they are all fixed;
7. for every built-in edge, if on any position at this edge, do not draw anchor point as yet, then at the slide block of middle point-rendering at this edge; And
8. for every pair of vertical edge and/or Z-axis,, then on its intersection point, draw a handle if do not draw anchor point or slide block as yet at its intersection point place.
Rule 1,2 and 3 is guaranteed: if lines are that fix or affined, then lines are depicted as solid line.Rule 5 is guaranteed built-in edge not is depicted as dotted line.Rule 6,7 and 8 guarantees that point of fixity shows anchor point, and some built-in edge shows slide block, and other shows handle.
Hereinbefore, the edge only need be drawn once, therefore, if certain bar rule makes an edge is drawn, and then follow-up rule will can not make this edge be drawn once more.If words easily, for example, if container is very little, and icon overlaps each other or blocks the further feature of expression, then draw icons or omit icon differently.
Draw the not accurate position of built-in edge, can depend on the content of container.As will be explained hereinafter, use " on-the-spot check and correction ", this means content and document template are merged, and this content is visible in user interface.A kind of alternative implementation can be used container contents zone average on all documents, and perhaps some determines that built-in edge should not be placed on method where on user interface.
These expressions of container provide a kind of graphical method that is used to show the container edge state.Being explained as follows of this expression:
Dotted line means that the position at that edge in the document depends on the content of container. exists
Among Fig. 4, this type of edge is marked as 410.
Solid line means that the edge is restricted, because this edge is (such as the edge 414) fixed, perhaps because the width of container and be (the two is all fixed in container 408) of fixing highly.
Anchor point means that the edge and/or the axle that intersect with this anchor point fix.Therefore, anchor point will appear at identical horizontal and vertical position in all documents.Therefore, according to definition, anchor point is fixed.Icon 409 among Fig. 4 is examples of anchor point icon, and the crossing edge 414 of its expression is fixed.
Slide block means that the edge that is associated fixes, but container can be positioned at along on many positions of this edge " longitudinal sliding motion ".For example, in Fig. 4, the left side or the right of the position that the content of slide block 413 expression containers 408 can appear in the specific pattern in document to be seen.
Whether draw some or all of these icons or edge, depend on selected, the highlighted demonstration of which instrument or which container or activated.Generally speaking, in printed document, do not draw the edge and the icon of container, because they are aids of design documentation template.
Can in auxiliary dialog box, show the setting such as minimum and breadth extreme and height.
In Fig. 5 A, the width of container 501 and highly all be unfixed.Represent the edge 503 fixed with solid line.Dot unfixed edge 504.Increasing icon 505 is designators that add or optional, and expression neighboring edge 504 is unfixed.
In Fig. 5 B, the width of container 501 and highly all be unfixed.Anchor point icon 506 additionally or alternatively is illustrated in two edges 503 that intersect at this icon place and all fixes.
In Fig. 5 C, the width of container 501 and highly all be unfixed similarly carries out the expansion of container or dwindles round the central point shown in optional anchor point icon 507.
In Fig. 5 D, except top edge 508 is fixed, the width of container 501 and highly all be unfixed.These icons of anchor point icon 509 expression are positioned at the top edge 508 at its center to be fixed, and the left hand edge of representing this container and right hand edge enlarge or dwindle round the central shaft (Z-axis) by the vertical drafting of this icon.
6.3.3 be used in position editing the method for container attribute
By clicking arbitrary edges 503,504 with mouse 133 and indicating equipment 313 or clicking in its vicinity, make edge 503/504 between fixing and unfixed state, change, and the more diagrammatic representation in the new user interface 301 thus.
Use the combination of mouse 133 and indicating equipment 313, can drag reference mark 502, thereby make corresponding one or more edge follow the position at reference mark 502.When from the selection that utilizes mouse 133/ pointer 313, discharging reference mark 502, suppose and do not have the external constraint that makes reposition invalid, then built-in edge remains on the position that has dragged it to, and unfixed edge will turn back to its calculating location, and wherein factor and any other that may be applied to this container or edge of this calculating location by the size and dimension of content in this container retrains and determine.To being used for determining the not complete description of the algorithm of the position of built-in edge and container, vide infra.
Be positioned at the not reference mark at the intersection point place of built-in edge of the central point of built-in edge not or two, can fix, perhaps can it not shown, and be positioned at the not reference mark at arbitrary end place of built-in edge, can be restricted to along the direction parallel and move with this edge.
In addition, can be by near the summit of container or the edge or be positioned on the reference mark at this place, summit or and click, to the summit or the edge interpolation anchor point of container with indicating equipment 133 at the center at edge.Can also be by near the anchor point icon, clicking, perhaps, anchor point is deleted alternatively by selecting anchor point then to activate menu item, button or other control in this interface.
Add anchor point by this way, will make one or several edge of intersecting with this anchor point, one or several becomes fixing.
Container preferably has at least one fixing point, unless external constraint is arranged in addition, because if not this requirement then might be created the container that its horizontal and vertical position does not clearly define.For example, if this container does not have other effective external constraint, then there is not to appear on the content logic of container of built-in edge or axle the optional position on the page.This will appear at the very difficult content to this type of container of user and where predicts in document.Therefore, by do not allow with container be placed on this not clearly the definition state in conversion, some implementation has been avoided above-mentioned possibility.
As mentioned above, if this container has external constraint, then container can have fixing width or highly not have corresponding built-in edge.For example, if can utilize certain horizontal restraint to determine the horizontal level of container, although then the left hand edge of container and right hand edge are unfixed, container also can have fixing width.Below will discuss this type of external constraint, and be referred to as " pillar ".
If the external constraint pillar is appended on the container, just can fix width or height the edge is clicked with the above-mentioned similar mode of mode that is used for fixing the edge.In this case, if there is the horizontal strut link to each other with this container, then to unfixed left hand edge, right hand edge or click in its vicinity, width that will fixed container.If there is the plumb post link to each other with this container,, will fix it highly then to unfixed top edge, feather edge or click in its vicinity.
Stationarity to edge, axle, width and height is operated, and is equivalent to change between the rim condition of container.Other operation, for example the position to built-in edge or angle changes, and can revise other container status information.
More preferably, always has effective rim condition, whenever adding constraint to container or from container during deletion constraint, all using one group of rule, and necessary adjustment is carried out in other constraint, so that solve all problems in order to ensure each container.By upgrading screen display, point out relevant the adjustment to the user immediately to show new constraint configuration.This makes user interface 103 can prevent that container from arriving the state of not expected.
Level and vertical dimension to each container are used following rule:
1. if arbitrary edge becomes effect fixing or that be subjected to external constraint, then parallel with this edge axle becomes unfixed.
2. if axle becomes unfixedly, then at least one parallel edge must become effect fixing or that be subjected to external constraint.
3. if opposite edges become unfixedly, and removed all external constraints on those edges, then parallel with those edges axle becomes fixing.
4. if axle becomes fixingly, then parallel with this edge becomes unfixed, and removes the external constraint that works on those edges.
5. if width becomes fixingly, then left hand edge, right hand edge and Z-axis become unfixed.
6. if highly become fixingly, then top edge, feather edge and transverse axis become unfixed.
6.3.4 alternative container user interface: independent restraining
The replacement of container user interface (second kind) implementation can be divided into visually the mode of different and constraint that can be individually-edited with the rim condition with container, shows and allows container is edited.
In this implementation, utilize the bar of crossing over the container contents zone to represent constrain width and height.The fixing of edge or fixing character are not only represented in the edge.
According to the container display packing, the rule that is used for second kind of implementation is followed successively by:
1. for every edge or axle, if its lines are fixed, then be depicted as solid line, otherwise be depicted as dotted line;
2., then draw a width bar of crossing over content area, otherwise be depicted as dotted line if width is fixed;
3., then draw a solid height bar downwards, otherwise be depicted as dotted line along content area if highly fix; And
4. for every pair of vertical edge and/or Z-axis,, then draw an anchor point, otherwise draw a handle at its intersection point if all fix.
In second kind of implementation, do not need foregoing slide block, because solid line has been represented the behavior identical with slide block.And preceding a kind of implementation is quite different, because preceding a kind of implementation represents the stationarity at edge except using solid line, also uses solid line to represent constrain width and height.
Width bar in second kind of implementation and height bar are the graphical methods that respectively constrain width and height of container is shown and edits.These may look like the edge, and have and represent stationarity and not fixed solid line or dashed appearance respectively. In Figure 38, show Cross over the width bar 3805 and the height bar 3806 of two containers 3802 and 3803, its level Determine by the size of container 3801 and the length of connecting struts 3804 respectively with the upright position.Alternatively, if other constraint such as built-in edge makes the fixing meaningless of width or height, then these are possible inoperative, perhaps it are not drawn.For example, if the left hand edge of container is fixed, and right hand edge is unfixed, then preferably prevents user's fixed width, because this can make container be in a kind of rim condition that exceeds outside previously discussed 36 kinds of first-selected rim conditions set.In this case, display width bar not.
For at second kind of implementation inediting container, use mouse 133 and 313 pairs of edges of pointer, axle, width bar or height bar to click, the edge is unfixed from changing into of fixing, and perhaps vice versa.To dragging of edge, handle or anchor point, work in mode similar to the above, and anchor point is clicked, will fix and its arbitrary unfixed edge that intersects or axle, if perhaps two intersecting lenses are fixed, then simultaneously they are become unfixed.If above operation makes the clearly definition of the horizontal level of container or upright position, then fix arbitrary or two central shafts can be corrected this problem.For example, to make that all edges of container become unfixed if click anchor point, then has a plurality of possible location of content, therefore, in order to correct this problem, by fixing its Z-axis and transverse axis, mid point that can this container of grappling.Other external constraint or rule may make this step also inessential, and perhaps only fixing an axle may be just enough.
6.3.5 alternative container user interface: size frame
In another kind of (the third) implementation, by the direct control of minimum and maximum region being controlled the behavior of container, wherein minimum and maximum region is represented by an independent rectangle frame respectively.
Fig. 6 A-6C represents the 3rd exemplary rules of container.
With reference to Fig. 6 A, container 601 comprises that its reference mark 603 is positioned at each summit and is positioned at the Minimum Area frame 602 of each edge center point alternatively and the maximum region frame 604 that its reference mark 605 is positioned at each summit and is positioned at each edge center point alternatively.
Minimum Area frame 602 always appears within the maximum region frame 604 in level and vertical direction, or coincides with it.
The actual area of the content in the 3rd frame 606 expression containers.Property frame 606 always appears within the maximum region frame or with it and overlaps, and always appears at outside the Minimum Area frame or with it and overlap.Factor by the size and dimension of content in container and any other constraint that may be applied to this container are determined the first-selected size of property frame.
In order to make the user be easy to distinguish this three frames, alternatively, can represent each frame and reference mark thereof by not collinear pound weight, line style or color.
When checking the document template that comprises one or more containers, in order to reduce VC, reference mark 603,605 and the property frame 606 that can hide minimum and maximum region frame 602,604 alternatively and be associated, unless the special container related with them is " effectively ", for example, by pointer being placed in the zone that this container occupies or utilizing this container of click to realize.
By using indicating equipment 133 that direct control is carried out at its reference mark 603 or 605 separately, can adjust the size of Minimum Area frame 602 and maximum region frame 604.By adjusting the size of Minimum Area frame 602, in the tubular container which kind of content may not appear, and the user can determine that the minimum of property frame 606 may size.By adjusting the size of maximum region frame 604, in the tubular container which kind of content may not appear, and the user can determine the maximum possible size of property frame 606.
When adjusting Minimum Area frame 602 big or small, if the position at arbitrary summit of this frame or edge is dragged and dropped into the outside of maximum region frame 604, then move this summit or edge automatically, so that make its respective vertices or edge after discharging the reference mark identical with the maximum region frame; Perhaps this summit or edge stop to move after its arrives the respective vertices of maximum region frame 604 or edge; Perhaps expand the respective vertices or the edge of maximum region frame 604 automatically to, so that with the current summit that drags or coincident or outside it.
When adjusting maximum region frame 604 big or small, if the position at arbitrary summit of this frame or edge is dragged to the inside of Minimum Area frame 602, then move this summit or edge automatically, so that make its respective vertices or edge after discharging the reference mark identical with the Minimum Area frame; Perhaps this summit or edge stop to move after its arrives the respective vertices of Minimum Area frame 602 or edge; Perhaps dwindle the respective vertices or the edge of Minimum Area frame 602 automatically, so as with the current summit that drags or coincident or portion within it.
According to the relative position of Minimum Area frame 602 in maximum region frame 604, determine the position of property frame 606 in maximum region frame 604.
By dragging Minimum Area frame 602, it can be moved to the optional position in the maximum region frame 604 with indicating equipment 133.
Alternatively, can programme to Minimum Area frame 602, so that when utilizing indicating equipment 133 to drag this frame, " bite " hithermost position in the preferred location selection in the maximum region frame 604, wherein preferred location comprises left-justify, the Right Aligns and placed in the middle on the horizontal direction, and align in the top on the vertical direction, end alignment and placed in the middle.
Lateral dimension a among Fig. 6 A, b, c and d represent the distance between each vertical edge of maximum region frame 604, property frame 606 and Minimum Area frame 602.
The arbitrary dimension of supposing property frame 606 is determined by the content in the frame that in any particular moment then size a, b, c and d always meet following equation:
a∶b=d∶c
Corresponding equation is applicable to corresponding vertical dimension, and vertical dimension is not carried out mark among the figure.
Therefore, according to the lateral dimension a that finds the solution, b, c and d and corresponding vertical dimension, the position of property frame 606 in maximum region frame 604 determined.
Therefore Fig. 6 B represents a kind of special circumstances, and wherein Minimum Area frame 602 is positioned at the upper left corner of maximum region frame 604, and property frame 606 also is positioned at the upper left corner of maximum region.
Therefore Fig. 6 C represents another kind of special circumstances, and wherein Minimum Area frame 602 is positioned at the center of maximum region frame 604 in the horizontal and vertical directions, and property frame 606 also is positioned at the center of maximum region simultaneously in the horizontal and vertical directions.
Fig. 6 D and 6E represent to be used to generate the method 620 of the variable data documents that wherein uses container area.Implementation method 620 in application program 121, and the starting point of this method is 622, in step 624, document template retrieved thereafter, and in the GUI301 on display screen 144 it shown.In the step 626, pass through moving of mouse 133 and respective pointer 313 usually, the user is drawn container detect.
Under default situations, container has two constraints when drawing, i.e. smallest vessel zone and largest container zone, the regional and largest container zone of the smallest vessel shown in Fig. 6 A-6C.In the original state of container, the smallest vessel zone coincides with the largest container zone.In step 634, can operate the reference mark in arbitrary zone, so that thus container area is made amendment.
In order to form the space of a whole page, after this this container of expression can use various constraints in step 628 in template.Step 628 can comprise: merge polytype constraint described here in the middle of the container in this space of a whole page.In the implementation of current argumentation, applied constraint is the constraint in the container area, such as at shown in Fig. 6 A-6C those.In step 630, reuse 313 pairs of container area of mouse 133 and pointer and draw, then in step 632, carry out related with container in the space of a whole page container area.In step 634, can select this regional reference mark, and the reference mark is operated so that revise container area.This type of modification comprises one or more edge that this zone is set, so that coincide (Fig. 6 B) with the edge of container, and regional frame is moved or locatees with respect to the container that is associated.
Next be step 636, by turning back to step 628, the user can use more constraint.More multiple constraint comprises another regional frame, and the chance of structure minimum and maximum region frame is provided thus.Can also use other constraint.For example, the maximum region frame and and uncorrelated another container of maximum region frame between use pillar.This makes regional frame to carry out dynamically moving according to the variation of another container, continues to limit the size of the container that is associated with the maximum region frame simultaneously.
After step 636, by the operation of step 638, the user can add more containers in the space of a whole page, till the space of a whole page is finished.In case the space of a whole page is finished, step 640 just is placed into a content record in the space of a whole page so that generate document.Step 642 allows for all the elements record and repeats this process, thereby creates one group of variable data documents.In case used up all records and generated document, just as request in step 644, document has been proofreaded (referring to chapters and sections 11.10-11.13) and/or printing.Method 620 finishes in step 646.
7. image container
Image container is the container of particular type, its objective is the image that is used to comprise such as photo, illustration, logo or chart.
Preferably, image container has a behavior to be selected, so that the convergent-divergent of the image that control will comprise, wherein behavior is selected to comprise:
" be fit to entire image ", image is amplified or dwindles, thereby make the entire image fitted vessel, and the aspect ratio of image be constant;
" make the size of image fitted vessel ", image is amplified or dwindles, thereby this image is filled up entire container, and the aspect ratio of image is constant, and from view, the remainder of image is cut off;
" to stretch to be fit to " amplified or dwindled image, so as on level and vertical dimension the size of fitted vessel fully, ignore the original aspect ratio of image;
" do not carry out convergent-divergent ", image is not carried out convergent-divergent, and from view, cut off any image section that exceeds the container scope.
In addition, can be provided with image container, so that make in this container and its size is alignd to specific direction less than any image of container dimensional, comprise the combination in any of top alignment on left-justify on the horizontal direction, placed in the middle, Right Aligns and the vertical direction, placed in the middle, end alignment.
8. text container
The text container is the container of particular type, its objective is to be used to comprise one section text, and can utilize various fonts and paragraph style that it is formatd, and can align to each edge of text container or adjust.
The text container comprises static text, variable text or the combination of the two.Other object such as image can be inserted in the text container, and other object is to flow with the mobile identical mode of text.
By direct input static text is input in the container.As describing in detail in the chapters and sections 11,, variable text is added by the variable data object is dragged to from the storehouse in the container.Can show more than one variable text object in the single text container.
The format of static text can be applicable to single letter, word or whole paragraph, yet formatting options can only be applied to whole variable text item example.
8.1 text formatting
Text formatting comprises following option:
Font
Font size
Overstriking
Tilt
Underscore
Color
Line space
The force uppercase letter
Auto-hyphenate
8.2 alignment
In some specific implementation mode, allow following text justification option:
Horizontal alignment: left-justify (acquiescence), horizontal center, Right Aligns or distributed.
Vertical alignment: top alignment (acquiescence), vertical center, end alignment.
In different implementations, other option also is suitable, as vertical distributed text.
8.3 hurdle
Text in the text container can be arranged as a hurdle, two hurdles or multicolumn, the left and right edges on each hurdle and adjacent hurdle be separated by the interval that is called " spacing ".
In the prior art, to adjust the hurdle wide by dragging separatrix between the adjacent hurdle, is known, and by revising the value in attribute list or the dialog box, perhaps by similar indirect method, can be provided with spacing in advance.
Fig. 7 A-7B represents a text container 701 with three hurdles, and by utilizing the direct control of the indicating equipment such as mouse 133 and pointer 313, adjusts the method for the wide and spacing width in hurdle.
With reference to Fig. 7 A, text container 701 is divided into three text fields 702.As shown in the figure, the separatrix, center between the adjacent hurdle of lines 703 expressions, the spacing border between the adjacent hurdle 702 of lines 704 expressions.
By utilizing mouse 133 and indicating equipment 133 to drag separatrix, center 703, can adjust the width on adjacent hurdle.During drag operation, show that a special pointer 705 replaces the acquiescence pointer, be effective with expression hurdle drag operation.
As shown in Fig. 7 B, drag spacing boundary line 704 by utilizing indicating equipment, can adjust the width of spacing.During drag operation, show that a special pointer 706 replaces the acquiescence pointer, be effective with expression spacing drag operation.
Be adjusted at two stripe pitch boundary lines in the same hurdle interbody spacer simultaneously, always keep equal intervals thereby make between every stripe pitch boundary line and the separatrix, center.
Seen at Fig. 7 B, wherein can carry out independent operation to each spacing more than two hurdles.
8.4 variable font size
Can change the font size of text in the text container, allowing by reducing or becomes text and the container fit of the various capacity of ambassador, and allow the size of container to change, still can make text integral body and container fit simultaneously according to external constraint.The font size of minimum and maximum can be set for each text container, thereby limit possible font size scope.Can use binary search algorithm to determine the best font size that to use, so that make all texts and container fit.If font size reaches minimum dimension, and text still can not with the container fit, then show an error message to the user.
8.5 the font size between container is synchronous
Can create a constraint, this constraint qualification between two or more text containers: whether no matter the font size to any container changes, and font size must equate in all containers, so as to allow some content of text rightly with the container fit.
More preferably,, then at first font size is averaged, is applied to each selected container then if before adding constraint, have different font sizes for above-mentioned synchronous selected text container.A kind of alternative implementation can be used the font size of the container of initial selection, and this font size is applied to all other containers.Another kind of alternatives is that outside font size setting is applied to each container.
With reference to Fig. 8, application window 301 has foregoing toolbar zone 303.Toolbar zone 303 comprises at least one font selector switch 803, a font size selector switch 804 and a button 805 that is used to add the font size synchronization constrain.Can utilize font selector switch 803 and font size selector switch 804, change the attribute of text container Chinese version.After having selected some text containers, click font size lockage button 805 and will make the font size of all selected containers synchronous.
In advance a plurality of text containers 806,807 are placed in the text template 309.By operation mouse 133,,, perhaps, can select container by other method by around it, dragging the selection rectangle by clicking container with pointer 313.Can use visual method to represent the current text container of having selected, such as realizing by demonstration reference mark on container.
By selecting two or more text containers 806,807, and, constraint is added by activating lockage button 805.In other implementation, can pass through drop-down menu, keyboard commands or other method, use the font size synchronization constrain.
Alternatively, by means of on each text container 806,807 or in its vicinity icon 808 or other diagrammatic representation, should constraint shown in the user interface.In addition, alternatively, can between each icon of the text container that links by constraint, draw connecting line 809, link each other to represent which text container.
In other implementation, an isolated area of video display screen 144 can be provided, be used to show the various attributes of selected object, and can utilize the selected text container of this region representation to have the font size synchronization constrain that is applied to it, and which other container is sign linked by this constraint.
Can retrain one or more text containers of link by this by selection, and repeat to be used at first use the order or the sequence of this constraint, constraint is deleted to font size.This can realize by following manner: activate lockage button 805; Selection is by one or more text containers of this constraint link, and application aims at additional command or the sequence that this purpose provides; Perhaps clicks table diagrammatic sketch mark 808 or connecting line 809, and utility command or sequence are such as " deletion (the delete) " key that starts in the menucommand on the keyboard 132 or that show on display screen 144.
If in the two or more text containers that comprise the text with different fonts size, then with maximum font size, minimum font size, perhaps average font size is applied to all text containers to the user with the font size constraint applies.Alternatively, can utilize and eject dialog box or similar fashion, the prompting user selects font size.
If the user manually changes the font size that is retrained arbitrary container of link by font size, for example, then new font size is applied to all containers by this constraint link by from font size selector switch 804, selecting new font size to realize.
8.6 the automatic application of internal edges distance
According to the text container whether visual boundary and/or visual context are arranged, the internal edges distance of text container can be set automatically.
With reference to Fig. 9, application window 301 has foregoing toolbar zone 303.Toolbar zone 303 comprises at least one border selector switch 903 and a background color selector switch 904.
Text container 905 does not have visual boundary or background color, and does not have back gauge between the edge of container and the text in the container yet.
Text container 906 has visual boundary, and in four sides back gauge 907 is arranged all between the edge of container and the text in the container.
Before system state as shown in Figure 9, by clicking container 906 with pointer 133, by around it, dragging the selection rectangle, perhaps utilize other method, text container 906 is selected, its Chinese version container 906 is in and text container 905 similar states, does not have visual boundary or background, and does not have back gauge.Can use visual method to represent the current text container of having selected, such as realizing by demonstration reference mark on container.
Then, utilize border selector switch 903 to use visual boundary, perhaps alternatively, utilize background color selector switch 904 to come the application background color.
When visual boundary or background applications during in the text container, if the internal edges distance is not set, then automatically are applied to text container apart from 907 in four sides with predetermined internal edges.As long as the background color of text container and template mainly around background color between have visual difference, just can add the internal edges distance automatically.
The another kind of situation of internal edges distance can be set automatically for container, is in the background color of container and page color not simultaneously.In this case, can add,, rather than allow content to move on the edge of container so that parallax between content and page layout background is provided to inner back gauge.If the background color of container is fully transparent, then its content is plotted on the background identical with the page, and therefore need not to add the internal edges distance according to definition.
8.7 the text flow between the container
Two or more text containers can be got up along the link of pagination ground,, then allow text to flow to the next container from a container if so that the text capacity exceeds the size of previous container.
When text is not suitable for the combination zone of all this type of link containers, be necessary for each container and find to allow the matched with it font size of text, manage to keep the relation between the font size of different vessels simultaneously.
Container for one group of link, the Perfected process of realizing above-mentioned processing is, use binary search algorithm to regulate font size, till text is fit to just, perhaps till the font size of all-links container arrival (at this moment, to the uncompleted mistake of user's display operation or other indication) less than its minimum font size separately.Notice,, this algorithm is stopped if a container arrived its minimum font size before other container.In this type of situation, this algorithm attempts to keep the font size between the container to concern, but does not guarantee to do like this.
A kind of alternative approach that realizes above-mentioned processing is that use and the similar method of said method still, if the container of arbitrary link has arrived the font size less than its minimum font size, then stop with wrong or other indication.This alternative approach has kept the relative font size between the link container, but may produce mistake, and compares with binary search algorithm, in most of the cases can not produce answer.This alternative approach will be used in the realization text flow, expect also that wherein the font size between the all-links container is synchronous.
Utilize font to shrink and realize that the another kind of method of text flow is, reduce the font size of first container in the set that links simply, till text and this group container fit or first container arrive its minimum font size.If latter event then continues this processing by dwindling second container, like that, till text fit or all containers all arrive its minimum font size.If text still can not be fully and the container fit, then by some way it is represented, may represent with error notification.In the method, the ordering of container is important, and it is defined as the order that text flows, and therefore, if text begins and continues container B from container A, then A is first container, and B is second container.
9. lead
Guiding is to cross over the horizontal or vertical line of pagewidth or height, so that the location of additional reservoir or other guiding.Two classes guiding is arranged, fixing and unfixed (or float).Via pillar (distance restraint is in explanation after a while) guiding is connected to other guiding or container.Guiding does not appear in the document, only appears in the document template 309, as the aid of design.By indicating equipment is dragged to the workspace from the scale district, can create guiding.
9.1 fixed guide
Fixed guide is fixed on the page, or on certain part of the page, on printable area.Fixed guide is fixed, and is meant that it has same position for all documents.But can for example with respect to left hand edge, this type of guiding be fixed with respect to the particular edge of the page or the printing of the page.In this example, if adjust the size (for example printing) of the page on the paper of different sizes, then guiding remains unchanged with the distance of left hand edge, but not necessarily so with the distance at any other each edge.
9.2 fixed guide not
In different documents, perhaps when the data variation in the document, for example when document template and record from data source merged, unfixed or unsteady guiding can have different positions.In this example, when data and document template were merged, one or more containers can be preserved the data from data source, and these data may make the effect by pillar that the position of fixed guide is not determined.Before these data and document template were merged, the position of fixed guide may not be unknown, perhaps can provide initial position (may be arbitrarily) for the purpose of editor and design.In some implementation, when when merging from the data of data source and document template, floating guiding always has the position that can be edited or be changed by space of a whole page engine 105 by the user.
9.3 guiding implementation
In specific implementation, fixing and not fixed guide represent by solid line that all wherein solid line can extend to the printable area of scale, page boundary or the page on the edge that is positioned at work space.Utilize color to fixing and not fixed guide distinguish.Alternatively, can utilize solid line to represent fixed guide, and utilize dotted line or dotted line to represent not fixed guide.
With reference to Figure 12,, in GUI301, be pre-created not fixed guide 1204 by dragging with the horizontal component of pointer 133 from scale 308.First container 1201 has a not built-in edge 1202.1202 created a pillar 1203 to fixed guide 1204 not from the edge.Rely on top edge direct and guiding 1204 containers that align 1205, directly second container 1205 is appended to guiding 1204.By pillar 1207 the 3rd container 1206 is connected to guiding 1204.Simultaneously, by pillar 1209 the 4th container 1208 is connected to guiding 1204.
When built-in edge not 1202 because the height change of container 1201 and when mobile, guiding 1204 will change its upright position, so that keep pillar to retrain 1203.Container 1205,1206 and 1208 moves thereupon, so that keep and the 1204 relevant constraints of leading.Similarly, if because the merging of data and document template and container dimensional is determined or change that then the effect of pillar may make that fixed guide is not obtained the position according to the content in which container.
Be used between container and guiding, adding the method that pillar retrains, and the method for adding pillar between container that the instructions other parts are described is similar.
Thereby be used to add constraint be:, wherein visually " bite " on the guiding at this position upper container or container edge by container or container edge being dragged to certain position in the guiding preset distance with the prefered method that an edge of the container 1205 of container, for example Figure 12 directly appends on the guiding; Perhaps similarly, by dragging on certain position that is directed in the container edge preset distance, wherein guiding is bitten container edge on this position.Biting under the state, when from drag operation, discharging container, edge or guiding, will create constraint.
10. pillar
Pillar is class constraint, is used to keep the particular edge of container and the fixed range between other object such as guiding and back gauge.
More preferably, each pillar is applied to exactly two parallel edges of two different vessels that belong in the same document template, perhaps be applied to edge of container and parallel conductive to, perhaps be applied to two parallel conductive between.Other implementation can limit the object that is connected with pillar, perhaps allows pillar to connect the edge of a container, as stipulating its width or highly constrained method, perhaps allows pillar that edge or guiding are coupled together with parallel margin or edge.
Pillar is symmetrical, is meant with regard to the position, is not better than another edge by the edge that pillar added.
Can be visually or digitally or utilize the two combination, the length of expression pillar.In some implementations, all pillars visually show its current length by the length of diagrammatic representation (pillar icon), and other attribute is visible as numeral or visual setting in the dialog box.
Get back to Fig. 4, the edge 410 of first container 407 is connected to the edge 411 of second container 408 by the pillar constraint.By the 412 expression pillar constraints of pillar icon, wherein, alternatively, can under the various patterns of application program, for example under preview mode, hide the pillar icon.
In normal manipulation mode, the pillar icon is normally hidden, and when near the guiding that is positioned at this pillar or container or edge with pointer 313 that mouse 133 is associated or links to each other with this pillar, demonstration pillar icon.Can comprise any other pillar, container, edge or directly or the guiding that links to each other with this pillar indirectly via the pillar of any number near it.
Because pillar has only one dimension length, therefore can be from the pillar position of current location derivation on this one dimension direction at the edge that links to each other with this pillar.Therefore, between edge 410 and 411, draw pillar 412.Can adopt the pillar position on the variety of way calculating vertical direction.A kind of method is that the mid point to the edge that links to each other is averaged, and the mid point of pillar is positioned on this mean value.Therefore, the mid point of the pillar 412 center position place between the mid point of edge 410 and 411 just.
The content of container may change with document, and therefore for different document, any not built-in edge of container may be positioned at the diverse location with respect to the page.The effect of pillar constraint is the distance that keeps between edge or the guiding, therefore, can have the limited range of the possible position in document by edge or the guiding that pillar connected.
With reference to Fig. 4, when if article one edge 410 of container 407 moves, when for example if the user uses indicating equipment 313 by user interface certain bar edge to be operated, may connect edge 411 by " promotion " or " pulling " second, so that keep two pillar constraints (412) between the edge.Promoting or pulling when connecting edge or guiding, although the user can perceive the operation of pillar, the used operation of the practical operation on the user interface and generation document is identical.
In another kind of implementation, when activating the pillar instrument, can make amendment to the method for the demonstration pillar of above narration, so that when activating the pillar instrument, show all pillars.Alternatively, have only when pointer is directly on pillar, just show pillar, and do not show other pillar at that time.
As shown in Figure 4, although the edge 410 and 411 that connects by pillar 412 is adjacent and toward each other, pillar can be applied to any two parallel edges of autonomous container, and consider whether two edges are adjacent, perhaps whether toward each other, perhaps neither be.
Figure 11 represents the pillar between the container, and the 3rd group of exemplary rules of the container of describing with reference to Fig. 6 A-6C more than using is described.First container 1101 has a Minimum Area frame 1103, a maximum region frame 1105 and a property frame 1104.Pillar 1106 is connected to the respective edges of property frame 1104.Shown second container 1102, it is minimum to be identical with maximum region.Therefore, container 1102 has fixed measure in this configuration.Pillar 1106 acts on the entire container 1102, therefore, can promote or spur this container in the horizontal direction.
Therefore, can be between a parallel edge of the property frame of any edge of the property frame of first container and the maximum region frame or second container, perhaps and parallel conductive between, back gauge or other object, create pillar.
10.2 between container, create pillar
With reference to Figure 10, at first, activate the pillar instrument by with the pillar tool button 406 in mouse 133 and the zone, pointer 313 click tools hurdle 303, create a new pillar thus.Then, carry out one of two steps operation, so that link two containers.At first,, and pointer 313 dragged to any one point in second container 1002 by any 1: 1003 pressing and keep mouse 133 in first container 1001, and in this point release to the pushing of mouse 133, can drag path 1004.This position by the pointer among Figure 10 313 describes.Alternatively, shown in the position of the pointer among Figure 10 313, by at first any 1: 1003 clicking (promptly pressing the back discharges) mouse 133 in first container 1001, clicking the mouse more arbitrarily in second container 1002 can form the pillar between container 1001 and 1002 then.
In specific implementation, described pillar constructive process and two processes that container is selected to connecting, are selected the connection edge of container to the minimum distance at each edge of each container based on the starting point in path 1004 and terminal point.For example, therefore the distance of the right hand edge 1006 of starting point 1003 to first containers 1001 will connect right hand edge 1006 less than its distance to the left hand edge 1005 of first container 1001.Similarly, the left hand edge 1007 to second container 1002 connects.
In a kind of implementation of replacement, selected edge is an immediate pair of parallel neighboring edge in two containers, for example, and the edge 1006 and 1007 in the container 1001 and 1002 as shown in figure 10.
In another kind of implementation, selected edge is to move to its edge that pointer path passes for the first time when outside from the inside of first container at pointer, and moves to its edge that pointer path passes for the first time when inner from the outside of second container at pointer.
In order to help the user to select appropriate second edge, defined pillar 1: 1003 after, when pointer enters adjacent domain, with graphics mode the second potential edge is represented, for example realized by the line style at change edge or by near icon of the demonstration edge.Only the edge that will create effective pillar is potentially represented, comprised the parallel edge on the container except the container of first definition.
In addition, if pillar is asymmetric, for example, if pillar must be handled connected each bar edge by different way for some reason, then above-mentioned pillar constructive process can be represented this with graphics mode.For example, because starting point 1003 is in first container 1001, terminal point is in second container 1002, so a column operation is handled the edge 1006 of first container in the mode that is different from edge 1007, and pillar can be represented this situation with graphics mode.
10.3 between guiding, create pillar
Pillar between the guiding is created and is similar to above-mentioned pillar establishment between container edge.Because guiding has width and height unlike container, therefore possible user interface is less.Another kind method allows pillar instrument 406 is selected, and then first guiding is selected, and is dragged indicating equipment, so that the pillar that will create like this appends to second guiding.
Another kind of implementation allows two guiding are selected, and selects pillar to create button (icon) then, creates the non-directional pillar between the guiding thus.Can be considered as a kind of another kind of implementation of distinguishing the mode at active margin and driven edge by selecting sequence, create oriented columns guiding.
10.4 between guiding and container, create pillar
In one implementation, guiding is dragged on the edge of container, can create a distance restraint, it stipulates that usually between guiding and the edge be zero distance.Can represent this distance restraint by pillar, therefore, in fact the method (perhaps during structure guiding or container, perhaps when editor) that drags guiding may create a pillar.
Preferably, can with and between container edge, create the similar mode of pillar (selection tool, click edge or guiding, drag, discharge), between guiding and container edge, create pillar.
10.5 create the pillar that arrives back gauge
May also be desirably between margin and guiding or the container edge and have distance restraint.Pillar can be used for above-mentioned purpose.In some implementations, this is unnecessary, because can fix guiding and container edge in the position with respect to an edge of the page, its effect is identical with pillar.Pillar between margin and guiding or the container edge also is unnecessary, because can create the guiding fixing with respect to required margin, and may other guiding and container edge be linked with it via pillar.Therefore, pillar will not be linked to guiding or container edge by margin.
In another kind of implementation, guiding and container edge may not have the ability fixing with respect to margin.In this case, preferably use pillar to represent the distance restraint of margin.
10.6 the reciprocation between pillar and the container
Pillar carries out reciprocation with container in many ways.Content is placed on mode where as determining in document, the simple operations of pillar is restriction container edge and the residing position of guiding.Yet pillar also may be made amendment to the state of container to the connection of container, particularly the rim condition of container is made amendment, so that container is remained within the state set of permission.
In specific implementation, guarantee that the rule that pillar is appended to container is:
1. if pillar is connected between two built-in edges, then selected edge becomes unfixed.
2. if pillar is connected between two built-in edges, then the selected edge of second becomes unfixed, if and fixing with the length of the corresponding one dimension direction of pillar direction upper container, two then vertical with pillar edges all are unfixed, and the container length on the described one dimension direction remains unchanged.For example, if the selected edge of second is the vertical edge of fixed width container, then two of this container vertical edges will become unfixedly, so that this container can be moved horizontally, and its width remains unchanged.
3. become fixingly if append to two container edges of pillar and/or guiding, then delete this pillar.
4., then can revise the length setting of any pillar that appends to it, so that other edge or the guiding that link to each other with this pillar are remained unchanged if the user moves fixed container edge or guiding.
11. variable data
User interface 103 allows users that data source and variable document template are associated, and designs this template so that generate effective document when data source and template merge.Merging is carried out on the backstage with interactive mode, perhaps carries out when space of a whole page engine 105 assemblies of software application 121 require.
More preferably, data source and variable document template are associated, and when the user browsed the document that is merged with interactive mode, space of a whole page engine 105 merged according to request and the layout document file page with interactive mode.Another kind of implementation can merge data and template, and the document of printshop merging, and does not need mutual user interface during merging processing.Another kind of implementation can be in backstage pooled data and template, generating the document that merges, and merges the problem that occurs during the processing by the prompting message user, and wherein this message and user are combined the appearance asynchronously of browsing of document.
11.1 data source is selected
For variable document template and data source are merged, suitable data source and template must be associated.A kind of method that realizes above-mentioned association is, uses data source shown in Figure 13 to select window, and wherein this window has constituted the part of user interface 103.
Figure 13 represents the GUI window that shown by UI application program 103 on display screen 114, this window allows user with interactive mode data source to be selected, and wherein data source can be associating or some out of Memory source of database, file, a plurality of databases.As shown in figure 14,, just data source and template are associated, till disassociation clearly or impliedly in case selected data source.
11.2 data filter
Might all interior data of data source not all effective for specific union operation.When this type of situation occurring, for the user, can there be many possible modes to limit the scope of the data that will use.A kind of implementation is to allow algorithm data to filter, so that restriction will be used the kind and the quantity of data.For example, can select the scope of postcode, so that only use the record that is associated with required geographic area to generate document.It is very known in the art that this class algorithm filters.Another kind of implementation can be, after data source and template were associated, the user was via user interface is selected and mark will use data.
After Figure 17 was illustrated in and by the choice menus item data source and variable document template is associated, the user can be via the prefered method of the GUI301 visit data filter operation of user interface 103.
11.3 data sorting
Relevant with filtration is that data set is sorted so that find the ability of related data.A kind of implementation allows user's " key word " variable based on the data source of user's selection, and the sort method of data source record is selected.Alphabet ascending order according to selected key argument sorts to all records.For example,, then after carrying out sorting operation, will run into the record that title begins with alphabetical A, run into the record (under the situation of English text) that title begins with letter b then if key word is variable " title (Name) ".Figure 15 represents the part of a suitable user interface, the figure shows ordering and can be used as the part that data source is selected processing.Select by menu as shown in figure 17, also might after the associated data source, sort.
Another kind of implementation can permit a user to different types of data and select sort method, such as numeral or the language specific method.Another kind of implementation can be selected sort method automatically based on the kind and the selected key argument of institute's canned data, when the method for selecting automatically is a relatively poor selection, and may be by ignoring (override) mechanism.
11.4 record is browsed
A data source comprises many records, and every record is the set of relevant information.For example, database may comprise the record of describing the client, perhaps may comprise the product record.If the record ordering in the database can be become a sequence, and browsed by the user, then this is useful.
First-selected browsing method is that demonstration can be by one group of GUI button of indicating equipment 313 and mouse 133 activation, shown in the symbol among Figure 18 1805.Each button or in records series, advance or slow astern bar record, or arrive the beginning or ending place of sequence, or skip a few records.A kind of method also comprises a menu that is activated by indicating equipment 313/ mouse 133 or keyboard 132, and wherein menu shows these options (as shown in figure 17), and also allows the user that the record of particular number is browsed in addition.
When browsing to specific record, software application 121 shows current record in some way on display screen 144.By this record and variable document template are merged, and the index of the current record in this sequence is shown, may produce above-mentioned processing.
11.5 variable
Each data source can be made up of many naming variables, and wherein naming variable is applicable to the record in the data source.For example, customer data sources may have the variable that is used for customer name and customer address.They are variablees, and reason is: although name variable may be identical concerning every record, the value of every record can be different.
Having the method that shows variable, so that the user can be checked the record in the data source, and the variable that is associated with variable document template is selected, is useful.
Be used to show that the prefered method of variable is, as shown in figure 18, in floating frame, vertically list each variable with currency by name.By the inspection current record, and the value of in data source, searching each variable of this record, come currency is determined.Can utilize record to browse as described above selects current record.Notice that not every value or name variable all need to show.During the incompatibility window, can navigation mechanism be arranged if information is too many so that allow the user that each variable or value are checked.Another kind of implementation can be used similar demonstration, and it is the part (in other words, subwindow) of another window.If with the document template associated data source, then window will can not comprise variable, as shown in figure 16.
Variable can comprise the data of some kinds.Variable can be stored textual value, perhaps can memory image.Hereinafter, these variablees are called text variable and image variable.
More preferably, the variable of data source has one type value, but so variable videotex or image, but can not the two shows to it simultaneously.Different implementations allows the variable of data source to each recording storage data of different types.For example, the product description variable may comprise textual description in a record, and same variable has image value in another record of same data source.
11.6 text variable
Text variable comprises the textual value of every record in the data source.Application program 121 is by placing different labels near name variable in the variable list of data source, shown in the label among Figure 18 1801, coming to the user notification variable is text variable.Another kind of implementation may the value to variable show near name variable, in this mode as the notice types of variables, shown in text 1802, although the method itself can not guarantee it is clear and definite, because view data may seem identical with text data in some cases.121 of application programs use this technology as the householder method that shows variable data, rather than as the main method of distinguishing types of variables.
11.7 image variable
The image variable is included in the image value in every record of data source.This value can be that the view data of compressed format or unpacked format or file name or other are used for the access method of positioning image resource.Application program 121 is by placing different labels near name variable in the variable list of data source, shown in the label among Figure 18 1803, coming to this variable of user notification is the image variable.Another kind method is near the value of demonstration variable name variable, shown in text 1804, although this method can not guarantee it is clear and definite, because image file name (for example) may be obscured mutually with text data.
11.8 be dragged and dropped into container
When the variable of data source is visible, have and be used to allow the user to make up the method for variable document template, so that can being understood, the user has which variable, be useful.Permission is created the container of suitable type according to given variable, also is useful.
By allowing the user to use variable (as shown in figure 19) in mouse 133 and the indicating equipment 313 direct control variable lists, application program 121 allows to create the container of suitable type via user interface 103.The user uses indicating equipment 313 to select a variable (for example using in the rectangular area of 1902 marks), and it is dragged on the design surface, discharges this selection 1906 then.This is as the container that will create suitable type and carry out initialized signal with this variable.For example, drag to the text variable (shown in label 1901) on the design surface in a manner described, will generate a text container, text container shows the variate-value (shown in text 1903) of current record.If image variable 1904 is dragged on the design surface, generate an image container, this image container display file title 1905 and/or image itself, and carry out convergent-divergent, shearing and registration process according to the setting that the user uses.
The original state of the text container of Sheng Chenging is that the user is configurable like this, but another kind of method be position when utilizing the user to discharge to select as clue, this container is anchored on the page.
Perhaps can not use the exact position of this position as container, because this position may be invalid, such as outside design window or outside the page (if invalid words), so this position can be a clue.Container can be the center with this position; Perhaps the one corner connection is bordering on this position; Perhaps under the situation of not violating other constraint, with this container place as close as possible this position, for example fully in the page; Perhaps only container is placed on a default location or the random site, and ignores this position.Multiple possible implementation is arranged to newly-built object positions owing to drag indicating equipment.
Application program 121 is also created an enough big container, so that all current record contents that drag to the variable in this design are stored.Therefore big section text will generate a big text container.Another kind method can be calculated the median magnitude that is dragged the data in the variable in advance, and generates the container that is enough to show median magnitude.Other method can be used the derived method of this method, with the container of establishment even as big as storage dominant record data or smallest record data, or uses some other algorithm.
Another kind method is that variable is dragged in the design space, removes a rectangle for the container of preserving this variate-value then.Another method is a choice variable, removes a rectangle for this container then, and need not at first to carry out drag operation.Another kind of alternatives is to utilize indicating equipment that variable is represented to double-click, and corresponding container is appeared in this design on random site or the position by the algorithm selection.
In case another kind of implementation is after data source and design are associated, all variablees in the data source is all occurred as container in design, and make the user position or delete container as required.The initial position of the container of Chuan Jianing and size in this way depend on the relative size of content in the ordering of the data in the data source and each variable.In this type of implementation, if the container of expression particular variables exists, then data source and existing design are associated, will can not create container for this variable.This method is not a prefered method, because it is not easy to a plurality of containers of quoting same variable are created.
Specific implementation is also supported linking of data source variable and the container of having created.This method allows user that design is created and associated data source at first.This type of implementation can also provide linking of the establishment of association, container of the data source of random order and variable and container, to support workflow flexibly.
These class methods also allow to utilize drag and drop mechanism that the content of existing container is made amendment, wherein can utilize the combination of mouse 133 and pointer 313 to realize drag and drop mechanism, so that make to drag variable and in container, can reassign the container content displayed, perhaps increase the content that container is preserved.For example, made up the container that comprises static text " Dear ", the variable that then name is called " First Name " drags in this container, and the variable that then name is called " Last Name " drags in this container.Depend on the setting of operator scheme and container, this can produce a container that all data are shown, perhaps can produce one container that the value of last variable is shown.
11.9 show and browse a plurality of documents
Because document is the product that the data in document template and the data source are merged, therefore, can generate many documents as the result of single union operation.Can use several different methods this type of document is browsed and to be shown.
A kind of implementation comprises the mode of many demonstrations and browsing document, and depend on " on-the-spot check and correction " (being described hereinafter), in wherein proofreading at the scene, every record and document template with data source merges when needed, so that generate the view of the data of the constraint of document template and given merge document.To this type of implementation, depend on the character of the document that the user is provided with and/or generates, there are several possible user interfaces.The summary of this type of user interface is as follows:
In the mobile document of and/or level tissue similarly vertical, every piece of document is shown, and it is browsed by scroll mechanism, indicating equipment and/or keyboard with word processing document or electrical form.Can use the independent mechanism the button 1805 in Figure 18, the record in the data source is browsed.
Every record can produce the document of many pages during merging.These pages or leaves are organized and shown by vertical mode and/or horizontal mode.Can use the record in the independent mechanism browsing data source.
If document template generates the page seldom when merging with every record, then can show several pieces of documents by vertical mode and/or horizontal mode.For example,, then all documents might be arranged by linear precedence, be used and divide window system to show them, and use scroll mechanism to come browsing document if every piece of document has only a page on length.This with in the document browse and the record of data source between browse and be mapped on the space navigation.
If every piece of document has one or more pages, then can organize it by horizontal mode, then by each subsequent document is placed into the expression last record document below, can use the record in vertical direction ergodic data source, therefore use a direction that document space is browsed.Can exchange horizontal direction and vertical direction, its effect is similar.
Under above-mentioned every kind of situation, can have other method the record between and browse between the page and/or the document, realize as waiting by button, menu.
In the implementation of replacing, can be independent of merge document document template is shown.Only under " print review " form, just generate merge document, wherein in print review, can only the amalgamation result of wall scroll record and template be shown and can not edit.In another kind of alternatives, document template can be visible, and noninteractive print review and on-the-spot check and correction preview also be visible, and wherein on-the-spot check and correction preview allows the preview of document template and merge document is edited.Other combination of above-mentioned working method also is possible.
11.10 check and correction
On using the screen of variable data in operation and the presswork, search by the record to the four corner of the record that merging of expression effectively, the extreme case of from one group of variable data record, searching particularly, can significantly improve throughput rate, will how to occur so that make the user understand final merge document.
Preview and the many records of examination seal, how being combined document with the text of the variable image of checking different sizes and different length influences, and is useful.The most useful sample record that is used to print comprises:
To how print most record; And
Have seldom or a lot of just at the record of content displayed.
The more complicated expansion of this principle comprises:
When text has narrowed down to very little or has arrived its minimum dimension;
When any variable data text not being shown;
When the image amplification is too big (printing quality possible deviation); And
When the aspect ratio distortion of image is too many.
When handling variable data, the number of record or version may be very big in the document, and do not proofread mechanism automatically, and the user must carry out manual examination to every record, so that check whether the FINAL APPEARANCE of all merge documents is acceptable.For example, have only a record to comprise in the possible data storehouse will to generate to allow the content of the offending outward appearance of people, and be difficult to this record is searched.All the more so for the very big variable data operation of record count.
Disclose the effective ways of a kind of preview and the operation of examination seal Variable Data Printing, this method has guaranteed that the FINAL APPEARANCE of every piece of document all is acceptable, and will correctly print.Select a limited number of record to be used to shield preview and/or examination seal, all other records of final printing represented in described record.Analyze by merging outward appearance, and, come these records are selected by using the pre-defined rule set to determine the document outward appearance is had the record of significant effects to every record.
Selective preview and check and correction provide and have comprised the profile of extreme case in interior output result, thereby the user can not be astonished when the printing entire job.Show extreme case, promptly show and have the shortest and those records of the longest display size, it is a kind of valuable and economic method, can promote this method to comprise the short tabulation of " typical case " situation, extreme case and the many records between middle and extreme case, display size in the middle of wherein typical case comprises.
11.11 on-the-spot check and correction
On-the-spot check and correction is the process of variable data to showing that merges with interactive mode and variable document template when needed.Figure 20 presentation graphic user interface 2000 will have the record of data source of project 2010-2020 and template to merging, so that explanation (2002) looks what can be if print the part of this record on this interface.Additional boundary 2004 and color 2006 are added, be visible so that make the constraint of definition in the variable document template, but do not print this type of artifacts.
On-the-spot check and correction is more favourable than independent merging process, because find mistake in the stencil design probably by interactive browser early.
The specific implementation of application program 121 has been used on-the-spot check and correction.The implementation site of deployment check and correction of replacing is not perhaps used on-the-spot check and correction as an option.
11.12 selectivity check and correction
Selectivity check and correction is a kind of method of only checking selected record in Variable Data Printing application program 121, selected record or be typical common document, or unlike common document.
During selectivity check and correction,, then will be useful if the user can stipulate the polytype project that will measure.Below tolerance can be applied to record in the pillar, the page, data source of independent container, link container or the variable in the data source.These are called " design item " in the lump in the description of following selectivity check and correction.Term " merging size " is meant the dimensioning that record and variable document template from data source are merged back design item.To discuss various sizes tolerance after a while.
When activating the check and correction of selective preview or selectivity, the user is provided with interactive mode or according to preference and selects the design item.Each bar record and variable document template are carried out independent merging.For each bar record, the selected merging size that designs item is write down (storage).These being merged size compare, is the record of following size with the merging size that finds selected design item:
Minimum value;
Some other tolerance of intermediate value, mean value or set discipline; And
Maximal value.
In order to find maximally related record, application program 121 is checked the actual displayed size of every record, rather than only checks number of characters.For example, " w " occupies than " i " and more manys the space, and its overall appearance for container dimensional and document has bigger influence.
In case after having discerned these records, just they are offered the user and are used to shield preview and/or printing.
Addition record in all right preview of user or the examination seal merge document is to improve the confidence that they will correctly show all records in the Variable Data Printing operation.Preferably, use and the deviation of gathering between the discipline sort to the design item, so that at first or in the most significant mode provide its selected least identical record of merging size that designs item to the user.
11.12.1 minimum and greatest content size
The useful metrics of a design size is that its minimum or breadth extreme, height or content area are considered.About autonomous container, above-mentioned tolerance is calculated easily.For the pillar of link container, width or highly be significant, but the two is not that the while is significant, so area is not significant tolerance.For individual page, the area sum that can use the height sum of the width sum of container or container or container is as tolerance.For record, can use for these tolerance sums of showing all pages that this record is required as tolerance.For variable, all containers that can use part or all of this variate-value of demonstration are as tolerance.Can also use other method to select tolerance and computation measure sum.
11.12.2 typical sizes
The another kind of useful metrics of size of contents is that the typical sizes of its given design item is considered.Typical sizes can be the mean value of mean breadth or height or average area or area sum or mean value or other possibility of width and quadratic sum highly.Another kind of tolerance is to use Mesophyticum to replace above every mean value.Can use other statistical method.
Can use any one in these tolerance or all locate the representative instance of particular design item.For example, can locate its special container area and the immediate record of average area.
11.12.3 blank (white-space) size
Blank is to determine the another kind of useful metrics of the typicalness of the design item in the merge document set.Can define blank with multiple mode.For example, blank can be defined as by the container area of container constraint definition and and specific record area difference between the content area in this container when merging, for example, when container has minimum dimension and content and this size when incompatible, can define like this.Alternatively, the size that blank can be defined as content in the size of container and this container is one dimension direction, poor such as on width or the short transverse.
Blank maximization is similar but be different from minimizing of size of contents, and vice versa.Because the container such as minimum dimension constrains in the calculating and works, so they are also inequality.For example, search record with greatest content area with search record with hair space area may not be identical.
11.12.4 the most different size
What influence Variable Data Printing most is that distinguished document is positioned.Therefore need abnormality (unusualness) tolerance.Can define this tolerance with multiple mode.An example of this tolerance is a maximum deviation of calculating and design the median size of item.With dimension definitions be width, highly, certain tolerance in the quadratic sum of area, width and height sum, width and height etc.Median size can be calculated by following manner: for each the bar record in the data source, check each design discussing, search the size of this design, search the intermediate value of all definite like this sizes then.Then calculate the size of each design item and the maximum difference of median size, thereby can find design item with maximum deviation.
Figure 21 A and 21B represent to be used to utilize the width of container of each document and the method 2100 of high computational common document and maximum difference document.Method 2100 can be carried out the submodule as application program 121.
This process begins in step 2101.At first, all records in 2100 pairs of data sources of method carry out iteration, from article one start-of-record, and use by step 2103,2104 and 2105 cyclic processes that constitute in step 2102, and the position and the size of each container in the document are calculated.
In step 2106, method 2100 by on all documents with width with highly carry out addition, then divided by number of files, calculate the mean breadth and the height of each container in the document template.
In case in the known document template behind the width and average height of each container, method 2100 from article one start-of-record, and via by step 2108,2113 and 2116 circulations that constitute, is carried out iterative processing to all records in step 2107.For by each container in the document of step 2108,2111 and 2115 another circulars in definition of forming, method 2100 is calculated the width of this container and the difference of mean breadth in step 2109, and the difference of the height of this container and average height is to calculating in step 2110.Step 2110 calculate above-mentioned each value square, then they are added together, so that the numerical value of the document is provided.The result is asked square, mean that value range averaging value its weight far away more is big more.
For any given container on any given document, in case after calculating above-mentioned numerical value, just might calculate the degree of closeness of this container and average-size.If this container has minimum value, then it is near mean value.On the other hand, if this container has maximal value, then its range averaging value farthest.
If which document the user wishes to know is prevailing document, perhaps which document is the document of maximum difference, then in step 2112 value of each container on every piece of document is added together.Form a tabulation thus, in step 2114, it is sorted then, thus ending method 2100.
Document with minimum value is near the common document on each container.Has peaked document unlike common document.Can show many these type of documents to the user as required then, such as 5 documents the poorest or 10 documents the poorest.
Other method can be carried out aforementioned calculation on the attribute of width that is different from container and height.Blank area, the length of pillar or the position of container edge on the size that other useful attribute is a content, font size (being used for the container that variant font is big and dwindle), the document.
11.13 check before the seal (Pre-Flight Check)
The dimensioning of the above-mentioned type can be used to find typical, atypical or problematic design item." check " it is a term that uses before the seal in the Variable Data Printing field, be used for describing automatic preprinted process, this process attempts to find the problem or the further feature of merge document before entire job being submitted to the hard copy printing.
Above-mentioned inspection can be to determine and do not make other odd word that to printing all records acceptably report does not have problems, and perhaps causes in some way the attention of problem log is arranged simply.
More preferably, carry out the preceding inspection of seal according to user's request, and remind the user should check whether pinpoint the problems.If pinpoint the problems, then show first problem run into to the user, simultaneously by visual or text method to the explanation of user's demonstration to this problem characteristic.
Whole issue be found and be listed to another implementation can, investigated by the user then.When the user edits variable document template, carry out above-mentioned inspection on the backstage, in window or subwindow so that the continuous renewal tabulation of problem is provided.If tabulation then substitutes it with the clauses and subclauses of representing not pinpoint the problems for empty.This backstage is checked and can only be occurred when this software is idle, can occur continuously, perhaps At All Other Times or occur during situation.
12. space of a whole page method general introduction
A method that the aspect is an arranged items on the page of the present disclosure.The space of a whole page comprises the set of the project that will arrange, and one group of regular or constraint that defines the position of this project on the space of a whole page.Described several space of a whole page methods, having comprised:
1. be used to define the model of the space of a whole page.Space of a whole page model definition can appear at the type and the attribute of the project in the space of a whole page, and be used for defining how the permission rule or the constraint of arranged items.Utilize data structure in the working storage of computing machine 101, to store the space of a whole page.Below will describe several space of a whole page models in detail.
2. create and edit the method for the space of a whole page.It comprises the one group of operation that can be used in the establishment space of a whole page.Can realize this generic operation with the mode of software function, can call so that according to space of a whole page model construction data structure software function.Below will describe this generic operation in detail.
3. calculate the method for space of a whole page discipline destination locations and size.A given space of a whole page by one group of project and rule definition, this space of a whole page computing method are to how arranged items is stipulated according to rule, and it can be formed by the software of carrying out on computing machine 101 105.Below will describe the method for calculating the space of a whole page in detail.
Preferably, will be according to the method for particular layout model creation and editor's space of a whole page and for the method for this space of a whole page Model Calculation item location is embodied as a component software altogether, promptly previously mentioned space of a whole page engine 105.Notice that space of a whole page engine 105 does not comprise user interface 103.Can be with many different user interfaces with before using together with reference to the described space of a whole page engine 105 of Figure 1A.
13. space of a whole page model general introduction
Space of a whole page model comprises several expansions of basic space of a whole page model and basic model.The basis space of a whole page model definition base attribute of space of a whole page project, and the rule that is used for defining the space of a whole page.Also define several ancillary rules, be used for spread foundation space of a whole page model.Some combination of rule is a benefit, because they have produced simple space of a whole page model.Other combination is benefited, because they are easy to make the user of space of a whole page model to understand.
Basic space of a whole page model and ancillary rules below are described.Several implementations that comprise the ad hoc rules combination will be described.
14. the space of a whole page is created and editor's general introduction
The space of a whole page usually with document in a page part correlation join.Suppose and create and editing operation is worked to the space of a whole page that is created as the sky space of a whole page at first, and establishment and editing operation are the functions of being called by user interface software 103., also can carry out this generic operation, and need not user's direct input when generating document at data splitting and document template by server software.
More preferably, be used to create or edit the operation that the operation of the space of a whole page is not directly carried out corresponding to software users.Usually by user interface software 103 or more preferably by another layer software, user's single operation is translated into a plurality of space of a whole page creation operations, wherein another layer software provides the more high-rise interface of directly supporting than space of a whole page engine 105 of operation to space of a whole page engine 105.
The method of creating and editing the space of a whole page comprises following operation at least:
1. interpolation project;
2. delete items;
3. add rule; And
4. deletion rule.
Can increase other operation so that project or rule are made amendment.The accurate form of editing operation depends on employed concrete space of a whole page model.Many multi-form all be possible.Below describe this generic operation in detail.
When interpolation project in the space of a whole page and rule, add the principle combinations of contradiction easily, the implication of contradiction is meant that the project of placing in any case all can not satisfy strictly all rules.This type of space of a whole page was called constraint.On the contrary, the given combination of rule may be allowed multiple possible solution, also is possible.For example, the multiple of this project may all be satisfied strictly all rules by modes of emplacement.This type of space of a whole page is called underconstrained.Guarantee that preferably each space of a whole page has only a solution.Therefore, except that being used to create the operation of the space of a whole page, application program 121 also comprises the method that is used for guaranteeing to have only a solution.This method is integrated into space of a whole page creation method and is used to calculate among the method for the space of a whole page.
Owing to need prevent that the user is to not having solution or having the space of a whole page of multiple solution to create, so can the collaborative editing operation carry out consistance and uniqueness inspection together.This type of inspection can be carried out, so that whether test this operation effective after each editing operation.If invalid, then do not allow to change, and provide suitable feedback to the user immediately.
Therefore, consistance and/or uniqueness inspection can be included as the part of editing operation.Optionally, the space of a whole page calculates and can guarantee calculate a well-defined solution for each the possibility space of a whole page that uses the space of a whole page to create and editing operation is created.
Below detailed description is guaranteed that space of a whole page solution exists and unique method.
15. the space of a whole page calculates general introduction
For each space of a whole page model, the correlation method that all has pair position of space of a whole page project and size to calculate.Can for this problem, define position and size in the random two-dimensional coordinate system easily.
Can use several different methods that the position and the size of space of a whole page project are calculated, they comprise:
1. tree traversal method;
2. simplex method;
3. the modified simplex method that has the secondary objective function; And
4. based on the space of a whole page of figure.
The tree traversal method is applicable to the limited space of a whole page model of being made up of basic space of a whole page model.Other method is used for the various expansions of basic model.For solving various optimization problems, method 2,3 and 4 is equivalent.
Optimization problem comprise one group the constraint and one must be minimized or maximized objective function.In application program 121, some rule expression that the space of a whole page is defined retrains, and some rules are used for objective function is defined.
Simplex method is the known method that is used to find the solution the optimization problem of particular type.Simplex method is suitable for using with some space of a whole page models as a disclosure part.
Simplex method is only supported linear objective function, therefore needs the convex function of a strictness, to guarantee the space of a whole page unique solutions is arranged.Usually use the secondary objective function, because there is the known technology that is used to find the solution optimization problem with linear restriction and secondary objective function.The simplest method is that simplex method is made amendment.These class methods are very known in the solving-optimizing problem domain, and can use any means, and do not deviate from the scope of the present disclosure.
16. the detailed description of space of a whole page model
16.1 basic space of a whole page model
An aspect of application program 121 comprises a kind of method of arranging space of a whole page project set.Usually, according to one group of rule or constraint project is arranged in the coffin.Figure 22 represents the example of one group of project and constraint.
In order to define this type of space of a whole page, a basic space of a whole page model has been described.Basis space of a whole page model is used to define the basic structure of the space of a whole page and to the variable restriction of the space of a whole page.For example, use basic space of a whole page model, define the fundamental relation between the space of a whole page project, setting option purpose minimum and full-size, and the position of project is provided with restriction.Use the expansion of basic space of a whole page model, the accurate control to the space of a whole page is provided.The advantage of basis space of a whole page model is:
1. the physical simulation layout person's easy to understand such as rigid object and the removable object;
2. be easy to represent and operate by graphic user interface;
3. software is represented simply, can be by incompatible operation of operation set that clearly defines.
As shown in figure 22, in basic space of a whole page model, the space of a whole page comprises: one or more rectangle space of a whole page items 2201 that are called as box; By horizontal edge 2215 and vertical edge 2216 space of a whole page rectangles definition, that be used to place box; And zero bar or many rules 2207,2211.
Usually, the coffin of arranged items therein, the printable area of a page or a page part in the expression document, wherein each project is represented a graph image or a text block, although this space of a whole page rectangle may not exist in some application of basic space of a whole page model.
The size of each box and position in the space of a whole page are defined by its position of four edges edge of boundary rectangle.Can use space of a whole page unit's prescribed level and position, wherein space of a whole page unit is relevant with the absolute measure unit such as millimeter usually.Relation between each bar edge of 2207,2209,2211 and 2213 pairs of projects of rule or space of a whole page rectangle defines.Rule can define the relation between the opposite edges of same project, such as rule 2211,2213; Can define the relation between the edge of the edge of certain project and another project, such as rule 2209; Can define the relation between the edge of the edge of certain project and space of a whole page rectangle, such as rule 2207; Perhaps, can define the relation between the opposite edges of space of a whole page rectangle, such as rule 2217.In this instructions, the edge is meant left hand edge, right hand edge, top edge or the feather edge of project or object.
In basic space of a whole page model, the edge of each box is associated with the abstract space of a whole page item that is called " alignment mark " or only is called " mark ".Also the edge of layout area is associated with mark.Therefore, the space of a whole page item of two types of basic space of a whole page model supports: box and mark.
Term " alignment mark " is to the abstract of the employed alignment mark of printing machine and summarizes, so that the multiple image that will print hanging each other.Two types alignment mark is arranged: horizontal mark and vertical marker.Upright position on the horizontal mark representation page or the space of a whole page, and can be regarded as horizontal line with uncertain length or endless.Horizontal level on the vertical marker representation page, and conceptive be perpendicular line with uncertain length or endless.
Usually do not wish alignment mark is printed---they only are used for location between the box and relation are defined.User interface can adopt multiple mode to show alignment mark (perhaps not showing).
The space of a whole page is associated with two-dimensional coordinate system.The task of space of a whole page engine 105 is to determine the position or the coordinate of each mark in the selected coordinate system.Vertical marker has horizontal coordinate, and horizontal mark has vertical coordinate.More preferably, by distributing coordinate, coordinate system is stipulated to the vertical marker of an appointment and the horizontal mark of an appointment.By off-set value, determine the coordinate of all other marks with respect to specified mark.If the space of a whole page has fixed measure, the mark that then is used for the regulation coordinate system is two edges of space of a whole page rectangle normally.
Box is the rectangular area that is associated with some text or figure usually.When calculating the space of a whole page, can utilize box that container is represented.Each box is associated with four marks, and wherein four marks define the edge of box.Box comes down to four relations between the mark.In the expansion of basic space of a whole page model, additional marking can be associated with box.In basic space of a whole page model, use the mark that is associated with the edge of box fully, determine that to being used for the position of box and the space of a whole page rule of size are described, but in model extension, ancillary rules is associated with box.
Box and mark also are used for the not direct corresponding shape of shape and position and the position of the object that occurs with document are represented.For example, also represent the ideal dimensions of project with box, this size may be different with the size that space of a whole page engine 105 is calculated.Can usage flag define the restriction that relevant other project is placed, for example, mark can be placed on the position of expression margin, and can add rule to guarantee that space of a whole page engine 105 can not be placed into project outside the margin.
In basic model, every rule expression vertical shift 2209 or horizontal-shift 2213, and every rule has the size 2207 of regulation, perhaps has unknown non-negative big or small by 2213 (shown in dotted line).The constant offset rule is stipulated the size and Orientation of the horizontal or vertical skew between two marks in the space of a whole page.The direction that is offset between two marks is only stipulated in unknown skew constraint.For example, the edge 2221 of skew 2211 indication boxes 2219 must be always on the edge 2223 of same box.The size of unknown skew constraint, expression need be by the value of space of a whole page method calculating.
Therefore, in basic model, two types rule is arranged: constant offset rule and non-negative bias move rule.Every type skew rule definition the constraint relevant with the relative position of a pair of mark.
Skew between constant offset rule indication first mark position and second mark position must have the value of regulation.For example, given mark m and n, the constant offset rule be by fixed (m, n, d) represented constraint, it is defined by following equation:
Pos (n)-pos (m)=d, wherein d is a nonnegative number.Pillar 412 is expressed as constant offset rule in the space of a whole page engine.And, if container has fixed width, then, give space of a whole page engine with its indication by adding the constant offset constraint relevant with the mark of the left hand edge of representing this container and right hand edge.Similarly, if container has level altitude, then, in space of a whole page engine, represent by the constraint of the constant offset between the mark of the top edge of representing this container and feather edge.
Represent skew from a mark to another mark and the position of pos (u) expressive notation u apart from d.The position of horizontal mark is the vertical range from the initial point of space of a whole page coordinate system to this mark.The position of vertical marker is the horizontal range from the initial point of space of a whole page coordinate system to this mark.Can use any coordinate system of being convenient to define the space of a whole page.In the constant offset rule, two marks must be equidirectionals.In this, mark must be all horizontal mark or be all vertical marker.
Notice that the term in the context " fixing " is meant the value as the input of space of a whole page computing method, and space of a whole page engine 105 can not change it.
It is such constraint that non-negative bias moves rule, this constraint qualification the skew between two marks be non-negative.Non-negative rule between mark m and the mark n, be by non-negative (m, n) represented constraint, and it is by defining with lower inequality:
pos(n)≥pos(m)。Move in the rule at non-negative bias, two marks must be equidirectionals.For example, mark must be all horizontal mark or be all vertical marker.
In basic space of a whole page model, the level rule is independent of vertical constraint, therefore the problem of calculating the space of a whole page can be divided into two questions of independence.Figure 23 only represents and the corresponding vertical shift of the space of a whole page shown in Figure 22.In this implementation, adjust the distance with logic unit and to stipulate.In Figure 23, the constant offset rule mark the bias size of representing with logic unit.In this case, suppose that for simplicity each logic unit is equivalent to 1mm.Logic unit can be any for this application size easily, but a common logic unit can be less than the independently addressable printing points of minimum.Can adopt digraph 2400 expressions vertical shift rule as shown in figure 23 as shown in figure 24.In Figure 24, horizontal mark of each summit 2401 expression, and rule of each arrow 2403 expression.Represent constant offset rule (for example 2402) with solid line, and dot non-negative bias and move rule (for example 2405).In Figure 24, for example, the arrow 2402 between root node 2404 and terminal node 2406, the constant offset rule 2217 of expression among Figure 23, and this rule definition the height of the space of a whole page rectangle among Figure 22.In addition, to move rule be variable within the border of being set up by the constant offset rule to non-negative bias.For example, increase the value of h1, will make corresponding the reducing of value of h2 and h3, its two all depend on the terminal node 2408 of h1.
Usually, layout area has fixed size.Be connected by the mark that will be associated, it is stipulated with the opposite edges of layout area with constant offset rule.In some application program, also make space of a whole page engine 105 according to the edge of layout area and the relation between the project in the space of a whole page, calculate the size of space of a whole page rectangle.Usually, in this space of a whole page, add rule, but so that guaranteeing the box of representing printed items is limited in the layout area, but in some implementation, this may be also inapplicable, and may not need the layout area rectangle.In some application of basic space of a whole page model, may lack space of a whole page rectangle.
16.2 the replacement of basic space of a whole page model is represented
In another kind of implementation,, basic space of a whole page model is represented in the mode different but equivalent with said method.Here, only use one type rule, be that the smallest offset rule is represented basic space of a whole page model.
The smallest offset rule predetermining minimum between first mark and second mark allow skew.Smallest offset rule between mark m and mark n, be by min (m, n, d) represented constraint, and it is by defining with lower inequality:
Pos (n)-pos (m) 〉=d, wherein d is a minimum number that allows skew of expression.In this expression, number d can be positive number, negative or zero, and two marks relevant with the smallest offset rule must have equidirectional (that is, be all horizontal mark or be all vertical marker).
In the equivalent implementation of another kind, can use the peak excursion rule to replace the smallest offset rule.By max (m, n, d) represented peak excursion rule, by defining with lower inequality:
Pos (n)-pos (m)≤d, wherein d is a maximum number that allows skew of expression.
In order to prove a rule-like that only needs in above two rule-likes, notice, because the existence of following identical relation, so the peak excursion rule can be replaced by the smallest offset rule of equivalence arbitrarily:
max(m,n,d)≡min(n,m,-d)。
Represent and previously described expression equivalence for the replacement that proves basic space of a whole page model, notice, shown in following identical relation like that, non-negative bias moves the special case that rule is the smallest offset rule:
Nonnegative (m, n) ≡ min (m, n, 0), and shown in following identical relation, the constant offset rule is equivalent to two smallest offset rules arbitrarily:
Fixed (m, n, d) ≡ min (m, n, d) and max (m, n, d)
≡ min (m, n, d) and min (n, m ,-d).
On the contrary, the smallest offset rule can use additional markers t, constant offset rule and non-negative bias in-migration to represent arbitrarily, shown in following identical relation:
Min (m, n, d) ≡ fixed (m, t, d) and nonnegative (t, n), if d>0
≡ fixed (t, m ,-d) and nonnegative (n, t), if d<0, wherein t is an additional markers, is used for the restriction of mark with respect to the permission position of the n of m.At d=0 in particular cases, can substitute t with m, and the constant offset rule is redundant.
Therefore, exist many permissions to minimum and that peak excursion, constant offset and non-negative bias shift-in professional etiquette are fixed is equivalently represented.The smallest offset rule can be used to represent the rule of all these types because this rule simplifying be used to represent the data structure of the space of a whole page and the software that is used to handle this data structure.
More preferably, use digraph to represent to meet the space of a whole page of basic space of a whole page model, wherein each summit of figure is corresponding to a mark, and every edge by a figure notation figure, wherein numeral from by the mark of the source vertex representation at this edge to allowing skew by the minimum the mark of the purpose vertex representation at this edge.Therefore,, can generate a diagrammatic representation, wherein represent each mark in this space of a whole page, and represent each smallest offset rule by a corresponding directed edge by a respective vertices among the figure for any given space of a whole page.In basic space of a whole page model, can in its expression, ignore box, because each box is fully by being described with the corresponding mark in its edge.
There is several different methods in the storer of computing machine, to represent a figure, and can uses any suitable expression.Usually, in order to show and to edit, adopting the form except that diagrammatic representation that the space of a whole page that comprises project and constraint is stored, is easily, therefore in interactive application, does not always adopt the form of figure to come the space of a whole page is carried out direct representation usually.Diagrammatic representation can comprise the method for with numeral or out of Memory mark is carried out on the edge and the summit of figure as required.
Figure 33 A-33C has shown how can only use constant offset rule and non-negative bias moves rule and only use the smallest offset rule to represent the minimum and the maximum height of container.In Figure 33 A, shown a container 3300, the minimum that it has 40 units allows highly and the maximum height of 100 units.By the box that its top edge is associated with mark 3301 and its feather edge is associated with mark 3303, in space of a whole page engine 105, container 3300 is represented.Digraph among Figure 33 B has four summits 3305,3307,3309 and 3311.Summit 3305 expressive notations 3301, summit 3307 expressive notations 3303.Other two summits 3309 and 3311 expression additional markers, this additional markers defines the permission moving range of mark 3303 with respect to mark 3301.Use is fixed with respect to the position of mark mark more than 3301 pairs by the represented constant offset rule in the solid line edge among this figure 3317.Use moves rule by 3,319 two the represented non-negative bias of the dotted line edge among this figure, so as with the position limit of mark 3303 between two additional markers 3311 and 3309.Second digraph among Figure 33 C represents only to use two summits 3313 and 3315 identical constraint, wherein summit 3313 expressive notations 3301, and summit 3315 expressive notations 3303.Use two edges 3319 to represent the smallest offset rule.3313 to 3315 the edge from the summit, expression minimum value are 40 smallest offset rule.3315 to 3313 the edge from the summit, expression has the smallest offset rule of smallest offset-100.This is equivalent to maximal value is 100 from 3313 to 3315 peak excursion rule.
16.3 regular shape
In the Variable Data Printing application program, can define the width of box and the relation between the height, be easily.But in basic space of a whole page model, can't realize.
For example, box can be corresponding to the piece image that will be inserted in the space of a whole page, and may need the size of image is adjusted, so that adapt with free space.In this case, preferably can stipulate, and make space of a whole page engine 105 determine the best size of box according to the size of other project in this space of a whole page the aspect ratio of box.Another example is that therefore box can need be determined its height and width by space of a whole page engine 105 corresponding to the external frame of the text block of not stipulating its height and width.
Can spread foundation space of a whole page model, so that allow to be called the ancillary rules of regular shape, the width of this rule definition box and the relation between the height, and comprise two types regular shape: width of cloth shape (aspect) rule and text rule.
Width of cloth shape rule predetermining box must have specific aspect ratio.The profile of text rule regulation box should be the external frame of particular text box.Handle the space of a whole page of text by special module.The example of the explanatory text space of a whole page after a while.
Below describe the behavior of regular shape in detail, because the used method of the space of a whole page of calculating is depended in its behavior accurately.Depend on to be computational item destination locations and the selected method of size, in different implementations, above-mentioned rule can have different behaviors.
16.4 same offset rule
The another kind of constraint of being convenient to have when the regulation space of a whole page is to stipulate two equidistant constraints.Utilization by the equal of mark m, n, s and t (m, n, s, t) represented same offset rule stipulates that to this constraint wherein m and n have equidirectional, s and t have equidirectional.By following equation to same offset rule equal (s t) defines for m, n:
Offset (m, n)=offset (s, t), wherein offset (a, the b) skew of expression from the first mark a to the second mark b, thereby
offset(a,b)=pos(b)-pos(a)。
By adding the same offset rule, can spread foundation space of a whole page model.In space of a whole page model, allow the same offset rule, can create the space of a whole page of crossing constraint easily.
Be not that all implementations are all supported the same offset rule, because the same offset rule needs more general space of a whole page method, this method is effective not as prefered method in the space of a whole page engine 105.More preferably, space of a whole page engine 105 comprises the minimized distance rule that defines below, replaces the same offset rule as the alternative approach that is used to each skew is equated.
16.5 relate to the rule at the center of box
In basic space of a whole page model, have only the edge of box to participate in space of a whole page rule.Also wish and can the relation between the center of box be defined.In the expansion of basic space of a whole page model, each box always is associated with two additional markings.These marks comprise by the vertical marker at the center of box and horizontal mark.
In the model that allows the same offset rule, by using the same offset rule, can be associated the center of mark and each box, therefore do not need in model, to increase the rule that rule supports to relate to the box center.
16.6 dead center rule
Special circumstances as the rule that relates to the box center, in another kind of implementation, existence is to the expansion of basic space of a whole page model, and this expansion allows with respect to the page or with respect to the edge of the page or layout area, and the horizontal or vertical position at the center of each box is fixed.These special circumstances have been avoided the demand to the same offset rule, therefore can use the method for the simpler calculating space of a whole page.
Can therefore the relation between a pair of mark that the dead center rule is thought with the opposite edges of box are associated not needed to add the additional marking by the box center in the space of a whole page.
16.7 maximization is offset and minimizes the skew rule
Up to the present described basic model space of a whole page rule and ancillary rules for accurately constraint of regulation, such as the accurate dimension of project and the interval between the project, and for the position and the dimensional variability restriction of gainer, are useful.By above-mentioned rule, can easily realize the space of a whole page of crossing constraint or underconstrained is defined.In order to control the space of a whole page more accurately, a kind of good strategy is, use basic model rule and such as same offset rule and dead center rule other accurately regular, define the space of a whole page of underconstrained, and that interpolation adds, more regular, be used for the size of project and the preference of position are stipulated.For this reason, can use the rule of two kinds of addition type: minimize and maximize rule.
Up to the present the constraint that defined rule must be observed space of a whole page method defines.Different with rule defined above, minimize and maximize rule and be space of a whole page method objective definition function.
(m, n) the represented skew rule that minimizes should as far as possible little (that is, for negative) to 105 skews of indication from mark m to mark n of space of a whole page engine by minimizeoffset.Following specific definition should rule behavior because it depends on the method for calculating the space of a whole page.
By maximizeoffset (m, n) represented maximization skew rule, to 105 skews of indication of space of a whole page engine from mark m to mark n should be big as far as possible (that is, for just).Following specific definition should rule behavior because it depends on the method for calculating the space of a whole page.
Minimizing skew and maximization skew rule for being included in the linear objective function, is useful, and can be included in thus and be fit to use in the space of a whole page model that simplex method calculates.If the use linear objective function, then each minimizes rule or maximizes linear term of rule contribution and gives objective function.In this case, it is essential having only a rule-like in this two rule-like because regular minimizeoffset (m, n) be equivalent to maximizeoffset (n, m).Therefore, the data representation that comprises the space of a whole page model of these rule-likes only need be supported a rule-like wherein.For example, data structure may only support to minimize the skew rule, and uses the skew rule that minimizes of equivalence that each maximization skew rule is represented.
16.8 minimized distance rule
Maximization skew and minimize the use of skew rule, the ideal that may produce wherein between two marks is spaced apart the infinitely-great space of a whole page, and therefore above-mentioned rule does not always produce the clearly space of a whole page of definition.For fear of this problem, can replace maximization skew rule with the rule of other type and minimize the skew rule.Alternatively, utilize that (m, n) the represented another kind of rule that is called the minimized distance rule is adjusted the distance and stipulated by minimizedist.For example, the absolute value of the skew between two mark m and the n should be as far as possible little.The minimized distance rule only is applied to have between the mark of equidirectional.In specific implementation, use the another kind of rule that is called first-selected skew rule described below to replace the minimized distance rule.
Notice,, can use the constant offset rule, minimize and maximize skew rule and non-negative bias and move rule the minimized distance rule is similar to by using following identical relation:
Minimizedist (m, n) ≡ minimizeoffset (m, t) and minimizeoffset (n, t) and
Nonnegative (m, t) and nonnegative (n, t), wherein t is the additional markers of adding in the space of a whole page, and does not in officely what relate in its rule.Above-mentioned being similar to may be coarse, and it depends on employed accurate space of a whole page computing method.Especially, the accurate layout of the project of space of a whole page method calculating depends on selected objective function.
Also can notice,, also can use the minimized distance rule to be similar to minimizing the skew rule by using following identical relation:
Minimizeoffset (m, n) ≡ minimizedist (t, m) and fixed (t, n, d); Wherein t is the additional markers of adding in the space of a whole page, and d is a big positive number, and expression is than the bigger distance of the distance of the greatest hope between m and the n.Above-mentioned being similar to is coarse, and the accurate layout of project depends on the accurate realization of space of a whole page computing method, but can prove, by only adding the minimized distance rule, can provide and maximize and minimize function like the skew Regularia to allowing constant offset and non-negative bias to move in any space of a whole page model of rule.
In some implementation, the minimized distance rule can also comprise the bonus values of representing rule intensity.(s), wherein m is the mark relevant with this rule with n for m, n, and s is the positive number of expression rule intensity this rule list can be shown minimizeoffset.In this case, when one or more the position of minimized distance rules affect mark, stronger rule is bigger with the influence that more weak rule compares the position.
16.9 first-selected skew rule
In specific implementation, use the another kind of rule that is called " first-selected skew rule ", replace using the minimized distance rule.(d) represented first-selection skew is regular for m, n, and the first-selection skew of regulation from mark m to mark n is d by preferred.By following identical relation, can represent first-selected rule with the minimized distance rule:
Preferred (m, n, d) ≡ fixed (m, t, d) and minimizedist (t, n), wherein t is the additional markers of adding in the space of a whole page, so that expression preferred location of n with respect to the position of m.
On the contrary, by following identical relation, can utilize first-selected skew rule expression minimized distance rule:
minimizedist(m,n)≡preferred(m,n,0)。
Therefore, add minimized distance rule or first-selected skew rule, will generate the model of equivalence to the expansion of basic space of a whole page model.Use first-selected skew rule to replace the minimized distance rule, because for common regulation space of a whole page relation, this expression needs less mark and less rule usually.
As required, first-selected skew rule also can comprise the bonus values of representing rule intensity.This rule list can be shown preferred (m, n, d, s), wherein m is the mark relevant with rule with n, d is the number of the first-selection skew of expression from m to n, and s is the positive number of expression rule intensity.In this case, when the first-selection of one or more was offset the position of a mark of rules affect, stronger rule was bigger with the influence that more weak rule compares this position.By following identical relation, the first-selection skew rule that has intensity is equivalent to the minimized distance rule that has intensity:
Preferred (m, n, d, s) ≡ fixed (m, t, d) and minimizedist (s), wherein t is the additional markers of adding in the space of a whole page, is used to represent the preferred location of n with respect to the position of m for t, n, and
minimizedist(m,n,s)≡preferred(m,n,0,s)。
16.10 first-selected space of a whole page model
A desirable space of a whole page model is included as the above-mentioned rule of adding following type and the basic space of a whole page model of expanding:
1. be used for the level or the fixing rule at the center of box vertically;
2. be used to support comprise the regular shape of the box of text and image; And
3. first-selected skew rule.
This space of a whole page model is enough flexibly, to support needed whole space of a whole page features usually, also be simultaneously enough simple, understand to make things convenient for the user, having a simple data representation, and it can also support fast method that the position and the size of space of a whole page item are calculated.
16.11 the example space of a whole page
Figure 37 A has shown by using box, mark and rule, how the example space of a whole page shown in Figure 4 has been represented in a kind of implementation of space of a whole page engine 105.Border by 3701,3703,3705 and 3707 pairs of layout areas of mark is represented.The part of a page in the layout area ordinary representation template.Height by 3709 pairs of layout areas of constant offset rule is represented.Width by 3711 pairs of layout areas of constant offset rule is represented.Utilize two boxes 3702 shown in Figure 37 A and 3704, in space of a whole page engine 105, two containers shown in Figure 4 are represented. Mark 3701 and 3705 is specified as the initial point mark.
By mark 3713,3715,3717 and 3719 the four edges edge of first box 3702 is represented.There is the fixed position in the upper left corner of box 3702 on the page, it is at 150 logic unit places, right side of the left hand edge of layout area, and under the top margin of layout area 200 unit places.By two rules 3735 and 3737 it is represented.Rule 3735 has been guaranteed the left hand edge of box 3,702 150 unit places, right side at the left hand edge of layout area, and rule 3737 has been guaranteed 200 the unit places of top edge under the top margin of layout area of box 3702.Therefore the height of box 3743 and width are unfixed, and by space of a whole page engine 105 it are calculated.The minimum widith of smallest offset rule 3744 these boxes of indication is 120 logic units.The minimum constructive height of rule 3742 these boxes of indication is 100 logic units.First-selected skew rule 3741 is 550 logic units to the preferred height of space of a whole page engine 105 indication boxes 3702.Another first-selected skew rule 3743 also is 550 logic units to the first-selected width of space of a whole page engine 105 indication boxes 3702.The first-selected width of box and highly be to determine according to the content of the represented container of this box.Smallest offset rule 3739 is informed to space of a whole page engine 105: the feather edge of box 3702 can not be below the represented layout area base of mark 3703.
Four edges edge by 3721,3723,3725 and 3727 pairs of second boxes 3704 of mark is represented.The top edge of box 3704 and the position of feather edge are fixed with respect to layout area.Position by mark 3725 expression top edge.By constant offset rule 3731 top edge is fixed on 200 logic unit places below the layout area top margin.Equally, be fixed on 750 logic unit places below the layout area top margin by rule 3733 feather edges with box.
Utilize constant offset rule 3729 that the width of box 3704 is fixed as 550 logic units, but the position of the left hand edge of box and right hand edge is unfixed, and must calculates it by space of a whole page engine 105.Smallest offset rule 3747 is indicated to space of a whole page engine: can not surpass right hand edge by the represented layout area of mark 3707 by the right hand edge of the represented box of mark 3723.
Additional smallest offset rule 3748 and 3749 guarantees that variable edge is retained in the layout area.In this example, these rules are redundant, and in some implementation, can delete redundancy rule before calculating the space of a whole page.Can detect redundancy rule by following manner: delete this rule temporarily, and use to promote operation is next determines affected mark is promoted whether to violate this rule.Do not violate this rule if use to promote to operate, then this rule is redundant.
Represent by 3745 pairs of pillars 412 of constant offset rule.This rule is to space of a whole page engine 105 indication: the distance expression between two boxes 3702 and 3704 is 200 logic units.
Figure 37 B has shown the figure of the horizontal-shift rule of expression shown in Figure 37 A.Can use another similar figure (not shown) that the vertical shift rule is represented.The corresponding mark 3705 of left hand edge of summit 3751 expressions and layout area.The corresponding mark 3707 of right hand edge of summit 3761 expressions and layout area.The corresponding mark 3713 of left hand edge of summit 3753 expressions and box 3702.The corresponding mark 3715 of right hand edge of summit 3755 expressions and box 3702.The corresponding mark 3721 of left hand edge of summit 3757 expressions and box 3704.The corresponding mark 3723 of right hand edge of summit 3759 expressions and box 3704.
By by the edge 3767 of figure and a pair of smallest offset rule of 3769 expressions, constant offset rule 3735 is represented.3771 pairs of smallest offset rules 3744 in edge by figure are represented, and are represented by 3773 pairs of peak excursion rules 3746 in edge of figure.Edge 3775 and 3777 pairs of constant offset rules 3745 by figure are represented.Edge 3779 and 3781 pairs of constant offset rules 3729 by figure are represented.3783 pairs of smallest offset rules 3747 in edge by figure are represented.
Figure 37 C represents to be used to be stored into the memory construction of the figure shown in the 37B.By a data structure, for example each summit of 3791 couples of figure is represented, this data structure comprise at least the position of the mark that this summit is represented and all edges that this summit is left in expression in abutting connection with tabulation.Forms by record in abutting connection with tabulation, limit of every record expression, and comprise at least one pointer (such as pointer 3793) that points to the purpose summit and the minimum from the summit, source to the purpose summit allows to be offset (for example 3794).Because the size in abutting connection with tabulation changes, so with chained list it is stored.Figure 37 C does not show the link between the adjacent record clearly.
Skew is stored to first-selection in the independent figure shown in Figure 37 D.By an edge among this figure,, each first-selected skew is represented such as edge 3795.Be used to store the data structure of first-selected deflection graph, similar with the data structure that is used to store the smallest offset rule.By the respective vertices among two figure of pointer (clearly not illustrating) link.In some implementation, add extra edge to each figure, to guarantee every edge a reverse edge is arranged all.This makes and might travel through this figure along positive dirction or opposite direction efficiently.
17. the space of a whole page is created and editor's detailed description
17.1 create and edit the basic operation of the space of a whole page
Create and the straightforward procedure of editor's space of a whole page is: allow all kinds of projects is added, delete, and allow each rule-like by the space of a whole page model permission of being supported is added, deletes.In the method, when by any rule that relates to the project of deleting is deleted automatically, and from the space of a whole page, during project of deletion, only need minimum consistency check, just can prevent the space of a whole page data structure contradiction that becomes.In the method, do not guarantee to determine to satisfy the position and the yardstick of the project of strictly all rules.
The space of a whole page of avoiding comprising redundant information also is useful, because this can reduce the complexity of the space of a whole page, thereby makes it easier and be convenient to the user and understand, and the process of deletion redundant information can provide feedback to the user, so that make the space of a whole page clearer for the user.Redundant information can also increase the size of the data structure of the expression space of a whole page, and notice is slowed down space of a whole page calculating.
The above-mentioned digraph structure (Figure 24) that is used for representing to relate to the space of a whole page of the rule that comes from basic space of a whole page model automatically provides the method for the redundant information that is used to forbid some type.Do not allow the directed edge that one or more has identical sources summit and purpose summit among the figure.This prevents many smallest offset rule application in same skew.If the smallest offset rule that one or more is arranged between with a pair of mark is (with identical order, promptly have first identical mark and the second identical mark), then wherein a rule is redundant, because only need have minimum negative minimum offset values rule.
More preferably, be used to add the operation of smallest offset rule, automatically replace any existing smallest offset rule by identical sources summit and purpose vertex representation with newly-increased rule.Alternatively, if had the smallest offset rule of minimum offset values littler (promptly littler negative value), then in the existing space of a whole page, add the operation of smallest offset rule and do not carry out any processing with regard to same skew.
In specific implementation, support to be used to add and delete the operation of all kinds rule of being supported by basic space of a whole page model.Above-mentioned rule comprises that constant offset rule, non-negative bias move rule and smallest offset rule, although they are all represented with the smallest offset rule.For example, by adding two corresponding smallest offset rules, realize adding the operation of constant offset rule.Provide and be used for fixing operation is fixed or removed in the position of any mark.Position to mark is fixed, and is equivalent to add a constant offset rule between this mark and equidirectional initial point mark.The horizontal level at the center that is used for fixing independently arbitrary box or the operation of upright position also are provided.The space of a whole page is created and the multiple combination of editing operation also is possible.
Because a variety of causes can carry out fixing effectively to the horizontal level at box center.For example, if the horizontal level of two vertical edges of box is fixed with respect to layout area, then the horizontal level of box and width are completely specified, and therefore, the horizontal level at box center is also fixed.In this case, be used to make the horizontal level operation (that is, add dead center rule) fixing at box center, can not carry out any processing, because this rule is redundant with respect to the space of a whole page.This is equally applicable to the upright position at box center is fixed.
In one implementation, also support to be used to add and delete the operation of first-selected skew rule and minimized distance rule.In this implementation, utilize the first-selection skew rule of equivalence that the minimized distance rule is represented.Can represent first-selected skew rule with digraph, in digraph, mark of a vertex representation, and an edge by connecting corresponding to the summit of the mark relevant with first-selection skew rule are represented every first-selected skew rule.Because digraph only allows to have the edge on identical sources summit and purpose summit, so this seems to be not suitable for representing to have the space of a whole page of one or more first-selection relevant with two identical marks skew rule, but consequently, first-selected therein skew rule comprises in the specific implementation of intensity, by means of following identical relation, can replace any two the first-selected skew rules relevant with the first-selection skew rule of an equivalence with two identical marks:
Preferred (m, n, d, s) and preferred (m, n, d ', s ') ≡ preferred (m, n, D, S),
Wherein:
D = sd + s ′ d ′ s + s ′ , And
S=s+s′。
When the first-selected space of a whole page of execution calculated, above identical relation was effective.
17.2 create and editor based on the space of a whole page of example
When creating and edit the space of a whole page, wish to avoid creating the space of a whole page of constraint, because this type of space of a whole page is unfavorable for generating document.The processing of the rule that avoids conflict can provide feedback to the user, so that promote the understanding of user to the space of a whole page created.By automatically preventing mistake, creating the workload that the rule that avoids conflicts during the space of a whole page can also reduce the user.
In some implementations, can use editor, to avoid the space of a whole page of constraint based on example.Editor based on example is to be used to create and edit the operation of the space of a whole page always at the enterprising line operate of space of a whole page example of observing all constraints.Notice, minimize skew rule, maximization skew rule, minimized distance is regular and first-selected skew rule is not forced constraint to the space of a whole page, and it can be ignored so that avoided the space of a whole page of constraint.In the Variable Data Printing application program, can make up the example space of a whole page of display document preview by allowing the user, finish above processing.Preview can be the demonstration of making up the one piece of document that generates by with real data and document template, perhaps preview can comprise just with expectation and is inserted into sample data like the data class in the document template, perhaps alternatively, the size of having only project and position may with will be approximate identical from desired size the actual document that this template generates and position.
When the project of establishment, preferably stipulate New any destination locations and size, so the example location of project is always known.For these values are stored,, mark is carried out on each summit of the figure that is used for representing the space of a whole page by the position of respective markers.In addition, when the current location of only regular and project and size do not clash, just can add rule.For example, when having only the current location obedience smallest offset rule of related mark, just can in the space of a whole page, add the smallest offset rule.Similarly, when adding the constant offset rule, off-set value must and the mark relevant with this rule between skew equate.When the level at box center or upright position be fix the time, according to the physical location at box center when carrying out the operation of adding rule, the position of box and size are known, and level or vertical centre are fixed.
The user can be via interface 103, indication may need in the space of a whole page to add rule, to the change of the space of a whole page.If the indicated example space of a whole page of user does not satisfy the rule that will add, then if possible, just this space of a whole page is adjusted automatically, so that make newly-increased rule consistent with this space of a whole page.For example, when the user changes the width of the container with fixed width by dialog box or by an edge that drags box, made amendment in the position of project, and update rule.This may need some space of a whole page operations, and some has rule now, changes the position of related mark and adds new regulation such as deletion.For example, when changing the position of mark,, upgrade the position of this mark, and add the new regulation consistent with the reposition of this mark if the position that application program 121 is at first deleted this mark changes any rule that will violate.
When the editor or the establishment space of a whole page, must under the situation of not violating any constraint,, a mark or more than one mark be moved sometimes with respect to another mark or with respect to space of a whole page initial point.The mark of Yi Donging is subjected to the influence of many constraints if desired, and then above-mentioned processing may be a very complicated operations.Space of a whole page engine 105 preferably provides an operation that is called " promotion ", this operates under the situation of not violating any constraint, along continuous straight runs or vertical direction move one with a group echo and give set a distance, and also move not other mark in original set where necessary, to realize the result of request.
17.3 promote operation
Space of a whole page engine 105 is in response to the input from user interface 103, realize promoting operation, so that under the situation of not violating any constraint, along continuous straight runs or vertical direction move one with a group echo and give set a distance, and also move the not mark of other in original set in case of necessity, to realize the result of request.
Promotion operates on one group of mark with equidirectional and works, and can utilize the figure that is called promotion figure described.The example space of a whole page of given sets definition by mark and smallest offset rule, together with the position of distributing to each mark in this space of a whole page, can define corresponding promotion figure.Promotion figure is a digraph, and wherein each summit is corresponding to a mark in the space of a whole page, and each bar edge is corresponding to a smallest offset rule, and wherein actual shifts equals the minimum value that the smallest offset rule allows.
The promotion figure of the space of a whole page is a digraph, and which mark the edge of digraph indicates directly to promote to constitute other mark of this space of a whole page.Cause violating smallest offset rule between first and second mark if increase the coordinate figure of first mark, promptly when the skew between them had been the minimum value that allows, first mark can directly promote second mark (along positive dirction).Notice, suppose that when creating or edit the space of a whole page, the smallest offset rule with equivalence has replaced all basic model rules.
When along the positive dirction movement indicia (, when increasing its coordinate figure), also must with the corresponding any mark mobile phase same distance in summit that promotes among the figure to arrive from its respective vertices so that avoid violating any smallest offset rule.
When along the negative direction movement indicia (, when reducing its coordinate figure), also must with arbitrary mark that can arrive from its respective vertices among the reverse promotion figure along equidirectional mobile phase same distance, so that avoid violating any smallest offset rule.Except the direction at edge is opposite, oppositely promote figure with promote to scheme identical.
Can utilize the whole bag of tricks that arrived in the summit in the digraph is determined to realize above-mentioned processing.
Promoting operation works by move many group echos under the situation of not violating any smallest offset rule.In order to calculate the permission moving range of a group echo, be called the amount of " lax (slack) " for one of each smallest offset rule definition.Given arbitrary smallest offset rule min (m, n, d), then should rule lax by offset (m, n)-d provides.Lax is the ultimate range (along positive dirction) that mark m can move before violating this rule, and also is the ultimate range that mark n can move along negative direction before violating this rule (that is, coordinate can reduce maximal value).If in the example space of a whole page, do not violate this rule, lax nonnegative number always of smallest offset rule then.Every edge among the promotion figure is 0 rule corresponding to relaxing.
For a group echo, the maximum forward of permission move be all smallest offset rule min (m, n, the minimum value in lax value d), wherein m is in this group, and n is not in this group.This is not move any other mark outside this group and do not violating under the situation of any smallest offset rule, can move the ultimate range of this mark along positive dirction.Can be along the ultimate range that moves in the other direction a group echo, can be defined as similarly min (n, m, the d) minimum value in the lax value of all smallest offset rules of form, wherein m is in this group, and n is not in this group.If not to move the smallest offset rule that a group echo limits along assigned direction, then ultimate range is infinitely-great (that is, how far without limits can move mark).
Promote operation to following the tracks of when last group echo and an actuating length of will moving, wherein actuating length is the Distance Remaining that it must promote the mark in current group.When the executable operations step, this group echo and actuating length are upgraded.Promotion operates in the one or many increase mark is moved.Allow movement value according to maximum, the displacement in each increase is determined by current group echo.Before each increasing, can add in this group by the additional marking that the mark in this group promotes, therefore when increase at every turn, on the same group mark is not moved.
Figure 25 is illustrated in the method 2500 that comprises in first implementation that promotes operation.Promotion operates in beginning in the step 2501, preserves the initial point of the space of a whole page in this step.Since promote the position that operation can change the mark of definition coordinate system, thus this mark and position thereof are carried out record, so that can in step 2513, recover coordinate system after a while.After step 2501, promote operation and proceed to step 2502, in this step, will remain actuating length and 0 and compare.If the residue actuating length be 0, then do not carry out any processing, and the operation enter step 2513, the initial point to coordinate system in this step recovers.This improves following manner and realizes: with the underlined mobile appropriate value of the institute in the space of a whole page, so that the original position of the initial point mark that recovery is preserved in step 2501.If the actuating length of being tested in step 2502 is not 0, then operation enters step 2503, in this step, upgrades promotion figure according to the current location of this mark in the space of a whole page.Then, operation enters step 2505.In step 2505, can this group echo that will move be upgraded by any mark in current group along any additional marking that pushing direction promotes by adding.For example, its respective vertices at the mark that promotes can arrive from the corresponding summit of any mark in current group among the figure (if perhaps displacement is reciprocal words, then being oppositely to promote figure), is added in the current mark group.Operation proceeds to step 2507, in this step, calculates the distance of current increase.The distance that increases is the residue actuating length and the maximum smaller who allows in the displacement of current group echo on the assigned direction.If actuating length is positive, then this distance is always positive.After calculating displacement, operation proceeds to step 2509, in this step, moves a distance with the institute in current group is underlined, and this distance is institute's calculated distance in step 2507.After step 2509, operation enters step 2511, in this step, calculates the residue actuating length by therefrom deducting displacement.After step 2511, operation turns back to step 2502, in this step, institute's calculated distance in step 2511 is tested, so that need to determine whether another time iteration.
The described promotion operation scheme of Figure 25 never can be failed, if but moved the initial point mark during operation, then Cao Zuo behavior is not intuitively.For example, if a group echo is promoted to the right, rather than this mark is moved right, then other mark may be moved to the left.The behavior is to be caused by the step 2513 of recovering initial point.In fact, the behavior is useful sometimes.For example, for the width that makes box increases by 10 parasangs, even right hand edge can not be moved more than 10 units, the right hand edge of box is pushed away 10 units to the right, if possible, this also will make the width of box increase by 10 units.In this, 3 units if right hand edge can only move right, but left hand edge can be moved to the left 7 units, then promotes operation and will automatically be moved to the left left hand edge.Spinoff is that other project may also can move.
Promotion operation another kind of form, can not mobile initial point mark is arranged, and also is useful.By the method among Figure 26 2600 it is illustrated.This kind implementation that promotes operation is except having omitted step 2501 and 2513, undertaken by identical mode, omitting step 2501 and 2513 is because they are unnecessary, but this implementation has comprised additional testing, that is the step of between step 2505 and 2507, being inserted 2606.Testing procedure 2606 determines whether current mark group comprises the initial point mark.If comprise, then operation stops and failing, because under the situation of not mobile initial point mark, this mark can not be promoted the distance of request.
Figure 27 A and 27B, 27C and 27D and 27E and 27F have provided jointly and have promoted the example how operation works.These figure represent the space of a whole page that is made of two containers, and these two spaces of a whole page are that minimum widith is the variable-width container 2701 of 15 units and the fixed width container 2704 that width is 20 units.By having the left hand edge related and the box of right hand edge, container 2701 is represented with mark A and B.By having the left hand edge related and the box of right hand edge, container 2704 is represented with mark C and D.These figure have also shown the page edge of being represented by mark E 2707.
The original state of the space of a whole page before Figure 27 A is illustrated in and begins to promote to operate.Project 2701 has the minimum widith by 15 represented units of smallest offset rule 2702.Project 2704 has the fixed width by 20 represented units of constant offset rule 2705.By being that the pillar of 6 space of a whole page units is connected with 2704 two projects 2701 by constant offset rule 2703 represented length.Between project 2704 and the page edge 2707 represented by mark E, an additional smallest offset rule 2706 is arranged, it has the minimum length of 15 units.This rule prevents that project 2704 from arriving the distance at page edge less than 15 units.Before calling the promotion operation, actual range is 20 units.The step that is used for mark A is promoted the promotion operation of 15 units to the right has been described.Figure 27 B has also shown promotion Figure 27 09 of this space of a whole page.Figure 27 09 has shown the summit of expressive notation B and C, because constant offset rule 2703, these two summits are connected by the edge on the both direction.The summit of expression B and C also is connected on both direction owing to constant offset rule 2705.
Figure 27 C represents this round-robin result of iteration for the first time.In first time iteration, in step 2503, calculate promoting Figure 27 09.In step 2505, determine that from promotion figure mark A does not promote any other mark, and can oneself move.In step 2507, determine that the transportable ultimate range of mark A is 3 units under the situation of not violating smallest offset rule 2702.Because this distance is less than the request distance, thus 3 units in step 2509, mark A moved, thus the space of a whole page of generation shown in Figure 27 B.The Distance Remaining that is calculated in step 2511 is 12 units now.In this round-robin iteration second time, in step 2503, the promotion Figure 27 11 shown in Figure 27 D is calculated.In the figure, mark A promotes mark B now, because the lax of rule 2702 is zero now, and therefore mark A also promotes mark C and D.
Figure 27 E represents this round-robin result of iteration for the second time, determines that in this iteration mark B, C and D are promoted by mark A now entirely, therefore must move four marks together.In step 2507, determine that the ultimate range that mark A, B, C and D can move is 5 units, and do not violate mark D and the page edge 2707 represented by mark E between the second smallest offset rule 2706.Distance Remaining is 12 units, but mark D can only move 5 units, so respectively mark A, B, C and D are moved 5 units.In step 2511, calculating Distance Remaining is 7 units.At this round-robin for the third time in the iteration, in step 2503, the promotion Figure 27 13 shown in the calculating chart 27F.In the figure, mark A promotes all marks.
In the promotion operation of second kind of form shown in Figure 26, test 2606 determines to comprise initial point mark E in the mark group that will move, and therefore stops this operation.In the promotion operation of first kind of form shown in Figure 25, round-robin iteration for the third time makes in step 2509 and to have moved remaining 7 units with institute is underlined, and in step 2511 subsequently, calculating Distance Remaining is zero, therefore, the test in the step 2502 makes this process forward step 2513 to, in this step, by with underlined 7 units that move to left of institute, the position of initial point mark E is recovered.In this embodiment, the promotion of two kinds of forms operation has produced identical result.In this embodiment, mark A can only be promoted 8 units altogether, rather than 15 units that asked.
17.4 have the promotion operation of dead center
In comprising the space of a whole page model of dead center rule, need make amendment to promoting operation, so that know dead center.If the horizontal level at box center is fixed, then must be always in opposite direction with the left hand edge and the right hand edge mobile phase same distance of box, this type of mark is " relative " each other, or " relatively " mark.Similarly, if the upright position at box center fix, then must be always in opposite direction with the top edge and the feather edge mobile phase same distance of box.
To promote operation to comprise dead center in order revising, to replace the mark group that will promote with two group echos.One group echo, to be the forward group promote along positive dirction, another group echo, promptly organizes relatively and promote along negative direction.In step 2505, each group interpolation mark is as follows in this two group echo.If mark is relative with the mark that comprises in one of two groups, any mark that in another group, adds relative mark and promote then by this relative mark.
Figure 32 has represented how to determine the method 3200 of two group echos when permission dead center rule, such as when step 2505 use dead center is regular in detail.In Figure 32, suppose that the initial set mark that will promote is a vertical marker, and just it promoted that assumed coordinate system increases simultaneously to the right just to the right.Realize similarly along other direction with towards promoting mark.In step 3201, will (ignore the dead center rule) by underlined the adding in the forward group that current group echo promoted.By searching all summits that can arrive, use to promote figure calculation procedure 3201 from that group summit of expression forward group echo.In addition, if any two relative marks are comprised in the forward group, then also the initial point mark is added in this group.After step 3201, in step 3203, with current group in relative underlined the adding in the relative mark group of arbitrary mark.In addition, if comprise two relative marks in the group relatively, then the initial point mark is added in relative group.The initial point mark is added in arbitrary group, can make the test termination afterwards that promotes to operate in step 2606 effectively.After step 3203, in step 3205, underlined the adding in relative group that promotes left by the mark in relative group.Owing to promote mark (that is, reducing their coordinate figure) along negative direction, thus except using reverse promotion figure, above-mentioned steps be with step 3201 in identical mode realize.After step 3205, in step 3207, with relative group in relative underlined the adding in the forward group of mark.Step 3207 is opposite with step 3203.After step 3207, in step 3209, carry out a test, whether new mark is added in the forward group in step 3207 to check.If added, then calculate and turn back to step 3201, so that repeating step 3201,3203,3205 and 3207, till no longer in arbitrary group of two groups, adding more new mark.
In step 2507, calculate displacement independently for these two groups, and the smaller (that is its quantity smaller) in two distances becomes the distance that will move.In step 2509, with mark mobile phase same distance in opposite direction.Move mark in one group along positive dirction, and move mark in another group along negative direction.
17.5 have the promotion operation of regular shape
Because regular shape relates to level and vertical marker, institute thinks and comprises the space of a whole page model that has regular shape and revise and promote to operate, and may be complicated.Problem is when promoting mark, because the combination of regular shape and Else Rule may produce complex interactions between the mark of equidirectional.Especially, might cause the circulation that does not have unique answer to rely on.For avoiding this problem, setting limits to space of a whole page model, only to such box application of shape rule, in this box, in the smallest offset rule, occur to many one with a corresponding mark of vertical edge and at the most one with the corresponding mark of horizontal edge.That is, each of regular shape box is subjected to the restriction of smallest offset rule scarcely at least one edge in the opposite edges.Complex relationship between the mark that this restriction has been avoided being caused by regular shape.Utilize this restriction, can make amendment promoting algorithm, thereby whenever in step 2509, the edge of the box that relates to regular shape being carried out when mobile, with regard to the application of shape rule.By the free edge of mobile box, the application of shape rule, wherein free edge is the edge that does not relate in any smallest offset rule.
Promote operation Edit Document template 17.6 use
When the user edited document template, GUI301 used and promotes to operate the modified example space of a whole page.Figure 34 represents how GUI301 allows the exemplary method 3400 of the built-in edge of user's mobile containers.In step 3401, user indication should mobile edge, for example realizes by selecting and drag with mouse 133 and 313 pairs of edges of pointer.After step 3401, in step 3402,103 pairs of location solutions with the corresponding mark in edge that is moving of application program remove fixing.Usually, fix the position at edge by adding the constant offset rule, wherein the constant offset rule to the mark of representing this edge and and the initial point mark of this edge equidirectional between skew fix.Fixing for this edge is removed, deletion constant offset rule changes the position at this edge so that allow.After step 3402, in step 3403, add extra constraint to space of a whole page engine 105, so that limit the permission position of this edge edge.When an edge is fixedly the time, can not move this edge, therefore do not need that there is any mobile additional constraint at this edge.Yet when the position of using 105 pairs of edges of space of a whole page engine changed, the moving range to this edge limited usually.For example, can inform and this edge can not be shifted out outside the edge of layout area to space of a whole page engine 105.Another example is, if this edge is the left hand edge of container, then can add non-negative bias and move constraint between the mark at this edge of the mark of the left hand edge of expression space of a whole page rectangle and expression container.In addition, also should force to keep the minimum and the breadth extreme of container.Can use document template, the minimum of each container and breadth extreme and minimum and maximum height be stored to be independent of space of a whole page engine 105.When the user was dragging the edge of container, by add smallest offset constraint and peak excursion constraint between the mark of the left hand edge of representing container and right hand edge, space of a whole page engine 105 can force to keep the minimum and the breadth extreme setting of container.
After step 3403, in step 3405, application program 121 is called and is promoted operation so that this edge is moved.Promote operation and guarantee that moving of this edge can not violate any constraint, and will move and be limited within the scope that space of a whole page rule allowed.After promoting operation, in step 3407, the constraint that deletion is added in step 3403, then in step 3411, with the stationkeeping at this edge at reposition.After step 3411, application program 121 is used space of a whole page engine 105, to recomputate the space of a whole page as described in Figure 28,29,30A and 30B in step 3413.Step 3413 guarantees to use all minimized distance rules and first-selected skew rule.Step 3411 is essential, so that when execution in step 3413, prevents that the space of a whole page engine 105 from moving to other position to this edge.At last, after in step 3413, the space of a whole page having been recomputated, application program 121 update displayed screen 144, so that the result of display change marginal position, and this renewal is completely.When the user uses the edge of mouse drag container, repeat step shown in Figure 34, when dragging so that instant feedback is provided.
Figure 35 represents how to utilize the another kind of method 3500 that operation comes the Edit Document template that promotes.Method 3500 begins in step 3501, and in this step, user's request changes the width of fixed width container.The position of supposing container is variable, and its left hand edge and right hand edge all are unfixed.By utilizing keyboard 132 new width of input in the properties dialog that GUI301 shows, can realize above-mentioned processing.In one implementation, utilize this container of clicking by right key of mouse 133, will show one and palette 311 similar context menu.Can from context menu, select " attribute ... " then icon is so that show properties dialog.After step 3501, in step 3503, calculate the difference of current width with the new width of container.After step 3503, in step 3505, with the width of container from fixing change into unfixed.By between the mark of the left hand edge of representing container and right hand edge, adding the constant offset rule, make the width of container become fixing.Equally, step 3505 comprises deletion constant offset rule.After step 3505, in step 3507, in the space of a whole page, add constraint, so that the mobile of edge of container limited.Minimum and breadth extreme that each container can be arranged in document template.Force to keep above-mentioned restriction by in the space of a whole page, adding rule.By adding and the left hand edge of this container of expression and the relevant smallest offset rule of mark of right hand edge, force to keep minimum value, and, force to keep maximal value by adding and the left hand edge of this container of expression and the relevant peak excursion rule of mark of right hand edge.
It after step 3507 step 3509.In step 3509, to utilize to promote to operate and will promote a distance to the right with the corresponding mark of the right hand edge of this container, this distance is the poor of width.If wide variety is for negative, the littler width of expression user request then promotes a negative distance with this mark---therefore it is promoted left rather than promote to the right., residue request wide variety is calculated in 3511 at next step.If the operation of the promotion in the step 3509 has successfully promoted right hand edge institute's calculated distance, then the width of container will become correct size, and Distance Remaining will be zero.If the operation of the promotion in the step 3509 is unsuccessful, then current width will be not equal to the width of request, and Distance Remaining is non-vanishing.After step 3511, in step 3513, utilize to promote operation left hand edge is promoted a distance left, the residue varying dimensions that this distance is in step 3511 to be calculated.If the residue wide variety then promotes left hand edge left a negative distance for negative.That is, this edge is promoted to the right.
If successfully left hand edge has been promoted institute's calculated distance in step 3511 in step 3513, then current width will equal the width of being asked.Otherwise this width will be as much as possible near the width of being asked.After step 3513, in step 3515, the constraint that deletion is added in step 3507, and in step 3517,, width is fixed as new width by adding the constant offset constraint relevant with the mark of the left hand edge of representing this container and right hand edge.After step 3517, in step 3519, the space of a whole page is recomputated, and in step 3521 update displayed screen, with the space of a whole page of reflection latest computed, thereby finish the operation that the width to container changes.Hereinafter explain the process of calculating the space of a whole page in detail.In example shown in Figure 35, suppose the promotion operation of using second kind of form being summarized among Figure 26.If the form of being summarized among use Figure 25, then step 3511 and 3513 will be unnecessary.
18. the detailed description that the space of a whole page calculates
18.1 with the simple form algorithm computation space of a whole page
In one implementation, the rule of permission is the rule in the basic model, together with same offset rule, width of cloth shape rule, smallest offset rule and peak excursion rule.Here, the basic model rule is equivalent to linear inequality constraint, and the same offset rule is linear restriction, and smallest offset rule and peak excursion rule are used to define linear objective function.In this model, rule definition linear programming, therefore, can use the simple form algorithm or find the solution any other method of linear programming, carry out the space of a whole page and calculate.
In this implementation, added together by each skew between a pair of mark that will be relevant with the smallest offset rule, from this summation, deduct each skew between a pair of mark relevant then with the peak excursion rule, come calculating target function.If rule has intensity, then in addition or before subtracting each other at first the intensity with respective rule multiply by off-set value.
It's a pity, simplex method is not being carried out under the situation of material alteration, in the model that uses simplex method that its space of a whole page is calculated, do not have the known method that comprises text rule.
18.2 improved simplex method
In another kind of implementation, the rule that is allowed is rule and same offset rule, width of cloth shape rule, minor increment rule and the first-selected skew rule in the basic model.In this implementation, smallest offset rule and same offset rule are converted to linear restriction, and the minor increment rule is used to define the secondary objective function with first-selected skew rule.In this model, constraint is linear identities or is linear inequality, and objective function is a quadratic function.Can use the known method of those of ordinary skill in the double optimization field, this type of problem is found the solution.Can use improved simplex method to calculate the space of a whole page in this model.
As simplex method, quadratic programming is not being carried out under the situation of material alteration, do not utilize quadratic programming to handle to allow the known method of the model of text box with variable-width and height.
18.3 the space of a whole page based on figure calculates
In another kind of implementation, employed space of a whole page model allows all basic model rules, first-selected skew rule and regular shape.This model is identical with first-selected space of a whole page model, does not just allow the dead center rule.In this implementation, use smallest offset rule expression basic model rule, and it is stored as digraph.It is independent digraph that first-selection is offset rale store.Regular shape is stored separately.Compare with QUADRATIC PROGRAMMING METHOD FOR with simplex method, the advantage of this method is that it comprises width of cloth shape rule and text rule simultaneously, and can make amendment so that comprise other regular shape to this method.
In addition, in this implementation, each container is associated with a box.For some container, box that can another is independent is associated with this container, and uses it for the ideal dimensions and/or the shape of this container of expression.Utilize the smallest offset rule, inform that space of a whole page engine 105 makes the printing of expression container or the approaching as much as possible size and dimension of representing the box of ideal form of box of display shape.By box application of shape rule to being associated, the ideal dimensions and the shape of definition container.Space of a whole page computing method make the size and dimension of container as much as possible near ideal dimensions and shape.Not always to make container just in time have ideal dimensions and shape, because it may not adapt with the free space in the space of a whole page when desirable size and dimension.For example, constraint may prevent that it from becoming ideal dimensions or shape.
Use the constraint of smallest offset rule definition, the possible position that wherein retrains mark limits, first-selected skew rule is used for the objective definition function, wherein utilizes space of a whole page computing method that objective function is minimized, and utilizes the regular shape computing method that these computing method are dynamically controlled.For the objective definition function, every first-selected skew rule and an energy value are associated.The energy of first-selected skew rule is half of squared difference between first-selected skew and actual shifts.The objective function that is called gross energy is whole energy sums of all first-selected skew rules.If specified intensity for first-selected skew rule, then intensity and energy multiplied each other.Can think that first-selected skew rule is a spring, this spring has proper length, and is subjected to the tension force effect when compression or stretching.The product of difference between intensity that the first-selected tension force that is offset rule is rule and actual shifts and first-selected skew.The intensity of rule is similar to the rigidity of spring.Space of a whole page engine 105 minimizes gross energy by the tension force of all first-selected skew rules of balance, calculates the space of a whole page.
Figure 28 is illustrated in key step related when calculating the space of a whole page.Space of a whole page computing method 2800 move (that is, changing its position) to mark, till gross energy minimizes under the situation of not violating any smallest offset rule.Method 2800 begins in step 2801, and in this step, the group echo that 105 search of space of a whole page engine can be moved is so that reduce the value of objective function under the situation of not violating any basic model rule.In step 2803, carry out test, whether successful to test this search, if success, then this method enters step 2805, otherwise the space of a whole page calculates and finishes, and method 2800 stops.In step 2805, mark is moved suitable distance along suitable direction, so that reduce gross energy.After step 2805, method 2800 turns back to step 2801, in this step, and another group echo that search will be moved.Below detailed description is used to select the method for many group echos that will move and is used to calculate the method for the distance of movement indicia.The processing of describing in order to ensure Figure 28 can stop, the subtle change of ignore-tag position, and/or cause that the mark position of the subtle change of gross energy changes.In one implementation, change in location is restricted to an integer logic unit.
Figure 29 represents the process 2900 with process equivalence shown in Figure 28, just in mobile one group of horizontal mark (step 2903) at first mobile vertical marker (step 2901) before.The effect identical with the test in the step 2803 played in test in the step 2905.There is multiple possible mode to be used to reduce the method for gross energy, and do not deviate from the scope of the present disclosure in order to tissue.
How Figure 30 A has at length represented in the implementation shown in step 2901-A the method for execution in step 2901.In step 3001, the promotion figure of vertical marker is calculated.This is used for to being determined by the mark that a given mark promotes.In some implementation, this figure can be the data structure that is separated with the figure that represents rule.In other implementation, two data structures can be made up.In step 3003,, retrieve first vertical marker by first summit of retrieval from the figure of expression vertical marker and horizontal smallest offset rule.Can there be multiple possible order that mark is retrieved.In one implementation, can mark be retrieved according to the order of storage respective vertices in the figure of the horizontal smallest offset rule of expression.After step 3003, this method enters step 3005, in this step, calculates the mark that can be promoted by mark selected in step 3003 to the right.Pair can move right under the situation of not violating a smallest offset rule group echo of a non-zero distance of step 3005 is determined.This group echo is included in mark selected in the step 3003, and can be by underlined (that is, underlined with the corresponding institute in summit that promotes can arrive from the summit corresponding to selection marquee among the figure) of selection marquee promotion.Step 3007 ultimate range that determined that group can mark moves right in step 3005 pair under the situation of not violating the smallest offset rule is determined.The calculating that calculating in the step 3007 is carried out with the part of the step 2507 of operating as promotion is identical.After step 3007, the distance that each mark in step 3009 pair this group should move is calculated, so that reduce gross energy, this distance is not more than institute's calculated distance in step 3007.Below will be described in detail step 3009.Displacement can be restricted to an integer logic unit.After step 3009, this method enters step 3011, in this step, moves institute's calculated distance in step 3009 with institute is underlined.Because mark may change the position, thus may need to upgrade promotion figure, so that the result of reflection reposition.If the maximum allowable range that institute's calculated distance equals in step 3007 to be calculated in step 3009 then needs to change promotion figure.In the step 3013 after the step 3011, carry out this processing.The mark that moves right does not reduce gross energy, is possible yet.In this case, institute's calculated distance will be 0 in step 3009, and this mark will can actually not change the position in step 3011.In fact, step 3011 and 3013 is not carried out any processing, and can skip them in some implementation.Step 3015,3017,3019,3021 and 3023 is equivalent to step 3005,3007,3009,3011 and 3013 respectively, and just moving direction is opposite.In above-mentioned steps, use oppositely to promote figure rather than promote figure.The those of ordinary skill of field of software engineering is appreciated that the digraph data structure that might be designed for promotion figure, thereby can travel through same promotion figure in opposite direction, does not therefore need independent reverse promotion figure.After step 3023, test, to determine whether visited all summits in step 3003, if not visit, then this method turns back to step 3003, selects next mark in this step.If visited all summits, then completing steps 2901, and calculating enters step 2903.
Step 2903 is identical with step 2901, and what just it was considered is horizontal mark and vertical smallest offset rule, rather than vertical marker and horizontal smallest offset rule.
Figure 31 represents the details of the calculating in the execution in step 3009 how.In step 3101,, calculate the partial derivative of gross energy with respect to the change in location of the mark in current group from their current location.The derivative of gross energy equals the tension force sum.Partial derivative equals to make the tension force sum of the first-selection skew rule that mark in current group and current group of outer mark are associated.That is, summation be preferred (n, m, d, the s) summation on the rule of form, wherein m is the mark in current group, and n is a current group of outer mark.Notice, for any mark m and n, regular preferred (m, n, d, s) be equivalent to regular preferred (n, m ,-d, s).By make tension force and approach zero as much as possible, will make energy minimization.In step 3103, by with mark displacement δ, finish above-mentioned processing, wherein δ is provided by following formula:
δ=-D/S, wherein D is the tension force sum, S is the intensity sum of first-selection skew rule that the mark in current group and current group of outer mark are associated.In step 3105, carry out test, whether just reduce to determine objective function along the moving direction that is current group echo consideration.This is equivalent to test δ whether for just.If can not reduce energy by along current direction mark being moved, then displacement is set to zero in step 3107.If can reduce energy by mark being moved, then in step 3109, calculate displacement along current direction.Displacement is the smaller among δ and the numerical value that calculated in step 3007.Can be with the mobile integer logic unit that is restricted to of mark, thus step 3007 calculated distance is rounded to an integer logic unit.This has guaranteed the termination that the space of a whole page calculates.
As being applied to above-mentioned promotion operation, the same consideration relevant with the initial point mark is applied to the space of a whole page calculates.In this, the space of a whole page calculates can ignore the initial point mark, and wherein step 3005 will always be searched a group echo that can move, and that group echo that will be moved can comprise the appointment vertical marker that the horizontal coordinates initial point is defined.In this case, step 3007 always generates the just distance of a non-zero, and step 3011 may change the position of initial point mark.In this case, should before step 3001, store the position of initial point mark, and by all vertical marker in this space of a whole page are moved a distance, this distance is the negative distance of the distance that moved at computing interval initial point mark, and the position of initial point mark is recovered.In another kind of implementation, in step 3007, the initial point mark is considered.In this, if comprise the initial point mark in that group echo that will move, then calculated distance is zero in step 3007.In this case, when carrying out the space of a whole page and calculate, need not preserve or recover initial point.
Regular shape only is used to have not fixed width and the not container of level altitude.For this type of container, in space of a whole page engine 105, the part of the container of content is represented with two boxes.Box is represented the demonstration that comprises in the container or the border of printed text or image.Calculate the border of this box by space of a whole page engine.Another box is represented the ideal form of box.This box is controlled by regular shape, and does not print usually or do not show to the user.These two boxes are shared a horizontal mark and a vertical marker.For example, the position of the left hand edge of these two boxes and top edge is always identical.Whether share left hand edge or right hand edge, perhaps whether share top edge or feather edge, do not have difference.By the minor increment rule remaining two vertical edges are connected, and, similarly, remaining two horizontal edges are connected by the minor increment rule.The minor increment rule should be closer to each other as much as possible to the size of two boxes of space of a whole page engine indication.
To carrying out considering regular shape when mobile with mark that an edge of any one box of a pair of so relevant box is associated.In step 3003, ignore and skip to belong to and have the mark of not sharing the box of regular shape, but,, then before step 3009, above-mentioned shared mark is adjusted if any mark at the edge of the box that is associated of expression amorphism rule is moved.Same method is applicable to the equivalent step that is applied to horizontal mark.Adjust not sharing mark according to regular shape, so that energy function is minimized.This process guarantees that energy is a balance between vertical and horizontal mark.
In regular shape is under the situation of width of cloth shape rule, directly with energy minimization.If the width of display box and highly be W and H, and the width of desirable box and be w and h highly, then when W+H=w+h, the acquisition least energy.If is r by the defined height of width of cloth shape rule to the ratio of width, then can calculate the width and the height of desirable box in the following manner:
W=(1+r) -1(W+H) and h=r (1+r) -1(W+H).
In regular shape is under the situation of text rule, and the shape of desirable box does not have simple formula.The text layout engine is carried out and is calculated, so that text is arranged in the coffin.Utilize the text layout engine to be desirable box driven dimension.The text layout engine carry out to calculate, so that text block is arranged in the space with given width, and can calculate the height of the text block of being arranged fast.The text layout engine comprises automatic line feed calculating, so that this line feed of long style of writing is become multirow.The text layout engine is arranged text according to the formatted message that is associated with the text.Formatted message can comprise paragraph style, be used for the font size and the font of each character, such as runic or underline.
In one implementation, desired width is set to the width of the wideest line of text, and ideal height is set to the height of the text block of having arranged calculated by the text layout engine, and the width of text piece equals the width of display box.If width is less than the width of long row, perhaps the height of display box is not enough to comprise the text, and then above-mentioned processing has the effect that increases energy punishment.
In another kind of implementation, utilize the text layout engine to arrange text, to calculate the height of each width, till finding the width that produces the minimum energy value by different width.If the wideest line of text does not have the width identical with display box, then can desired width be set to the width of the wideest line of text, can ideal height be set to the height that the text layout engine is calculated when not entering a new line.To comprise long text capable when text, and it must enter a new line, so that when adapting to display box, uses search strategy, to find the width of the space of a whole page that causes the energy minimum.Can design the possibility strategy of many search desired width, and not deviate from the scope of the present disclosure.Especially, can use search strategy by half.
In another kind of implementation, capable if text comprises long text, and it must enter a new line when adapting to display box, according to arranging that text adapts with display box making it, and calculates the size of desirable box.If text and display box are incompatible, then make the width and width and the height of height of desirable box greater than display box.If text and display box adapt, then make the width and width and the height of height of desirable box less than display box.Be greater than or less than the space of a whole page that comprises the necessary size of text for its display box, this strategy has the effect that increases punishment.The multiple possible method that the accurate size of desirable box is calculated can be arranged, and do not deviate from the scope of the present disclosure.Operable a kind of specific process is, if by text being arranged with the existing width equal widths of display box, then at first calculate the height of text, then half of the difference of the height of the height of the text arranged and display box is added among the width and height of display box, to obtain the size of desirable box.
18.3.1 simple one dimension space of a whole page example
Figure 39 is illustrated in the usage example of the space of a whole page mechanism of describing in chapters and sections 18.3 and the follow-up chapters and sections.Utilize A, B and C to represent three boxes 3901.By mark 3905 each box 3901 of definition that are positioned at left hand edge, top edge, right hand edge and feather edge.The left hand edge and the right hand edge of the page are defined as two vertical marker (3903 and 3904), wherein between these marks fixed range are arranged.Distance between some edge of 3902 pairs of containers of constant offset rule and the edge of the page is stipulated.
Rule is specially:
The width of the page is fixed as 50 units.
P A, be that the first-selected width of container A is 22 units.
P B, be that the first-selected width of container B is 16 units.
P C, be that the first-selected width of container C is 13 units.
The left hand edge of box A (being called " a " among Figure 39) is apart from 1 unit of left hand edge of the page.
The right hand edge of box A (being called " m ") can move freely.
The left hand edge of box B (being called " b ") is at 6 unit places, right side of a.
The right hand edge of box B is at 1 unit place, left side of " m ".
The left hand edge of box C is at 2 unit places, right side of " m ".
The right hand edge of box C (being called " c ") is at 1 unit place, left side of page right hand edge.
Use W respectively A, W BAnd W CThe current width of expression box A, B and C.For simplicity, use such coordinate system, this coordinate system is zero point with the left hand edge of the page, increases to the right side of the page.Supposition letter " a ", " b ", " c " and " m " represent the position of respective markers in the above-mentioned coordinate system simultaneously.
The energy of first-selected skew rule is half of squared difference between first-selected skew and actual shifts.Be used for this space of a whole page objective function, be gross energy, be energy sums of all first-selected skew rules.Therefore, objective function is:
E(A,B,C)=1/2(W A-P A) 2+1/2(W B-P B) 2+1/2(W C-P C) 2
=1/2(W A-22) 2+1/2(W B-16) 2+1/2(W C-13) 2
=1/2[(W A-22) 2+(W B-16) 2+(W C-13) 2]
=1/2[((m-a)-22) 2+((m-b-1)-16) 2+((c-m-2)-13) 2]
=1/2[(m-a-22) 2+(m-b-17) 2+(c-m-15) 2]。
Notice, in order to search the width of each box, from the position of the rightest mark of this box, deduct the position of left mark of this box, to obtain a nonnegative number.Therefore, W BBe (m-b-1), because be spaced apart 1 unit between the right hand edge of m and box B.Equally, W CBe (c-m-2) that because c is on the right side of m, and the distance between the left hand edge of box C and the mark m is 2 units.
For objective function is minimized, notice, " m " is unique one, and movably mark is (in fact, " m " and two marks immediate with it can move, and they can be regarded as the control variable in the equation, therefore, for the sake of simplicity, use that mark that is called " m ").In this case, find the partial derivative of energy function simply, and derivative is zero finding the solution with respect to variable m, just enough:
E(A,B,C)=1/2[(m-a-22) 2+(m-b-17) 2+(c-m-15) 2]
δE/δm=(m-a-22)+(m-b-17)+(m-c+15)。
Notice the negative sign of the 3rd (m-c+15), because derivative is with respect to m, and m is negative at this Xiang Zhongwei.
δE/δm=m-a-22+m-b-17+m-c+15
=3m-a-b-c-22-17+15
=3m-a-b-c-24。
By being zero finding the solution to this value, might find least energy.The value of known a, b and c is respectively 1,7 and 49.
0=3m-1-7-49-24
3m=1+7+49+24
=81
m=27。
Owing to have only a variable, so process finishes.Therefore, the least energy of given configuration is to obtain when 27 unit places, right side at page left hand edge of mark " m ".
18.3.2 simple two-dimensional space of a whole page example
Figure 40 A represents the another kind of usage example of space of a whole page mechanism.In this case, because transportable level and vertical marker are arranged, so this example relates to the tension force on the two-dimensional directional.
In the rectangle page, three boxes 4001 that indicate A, B, C have been shown with known fixed size by mark 4002 limited boundaries.The position at three edges of 4003,4004,4005 and 4006 couples of A of constant offset rule and C is determined.The lower limb of A (horizontal edge) can move, and still is connected to the coboundary (being called " m ") of B by the constant offset rule, and therefore, two marks can only move together, and the mobile phase same distance.Similarly, the left hand edge of the right hand edge of B (being called " n ") and C can move, but can only move together, and the mobile phase same distance, because a constant offset rule is arranged between them.
Because the width of box B and height can change, so can be to box B application of shape rule.Selected rule is the aspect ratio rule, the depth-width ratio of this rule predetermining box B should be as much as possible near 0.5 (in Figure 40 A, with indicating R B=0.5 arrow indication).The preferred height of box A is 22 units, and the first-selected width of box C is 36 units.Because box A and C can not change (because rule 4005,4006) on two-dimensional directional, so all there is not regular shape.
Rule is specially:
The width of the page is fixed as 50 units.
The height of the page is fixed as 36 units.
P A, be that the preferred height of container A is 22 units.
R B, be that the first-selected depth-width ratio of container B is 0.5.
P C, be that the first-selected width of container C is 36 units.
The coboundary of box A (being called " a ") is apart from 2 units of top margin of the page.
The left hand edge of box A is at 1 unit place, right side of page left hand edge.
The right hand edge of box A is at 18 unit places, its left hand edge right side.
The coboundary of box B (being called " m ") can move.
The lower limb of box A is than high 2 units of m.
The left hand edge of box B (being called " b ") is at 1 unit place, right side of page left hand edge.
The lower limb of box B (being called " d ") is than high 3 units of lower limb of the page.
The right hand edge of box B (being called " n ") can move.
The left hand edge of box C is at 2 unit places, right side of " n ".
The lower limb of box C is than high 3 units of lower limb of the page.
The right hand edge of box C (being called " c ") is at 2 unit places, left side of page right hand edge.
The coboundary of box C is than high 16 units of its lower limb.
Make H A, W A, H B, W BAnd H C, W CBe respectively height and width, the height of box B and height and the width of width and box C of box A.
Make P HBAnd P WBBe respectively preferred height and the width of box B.The preferred height of box B and width are not the fixedly inputs of space of a whole page algorithm; On the contrary, they are to calculate in some stage by the regular shape of using box B, and wherein regular shape is and its width and highly relevant aspect ratio rule.These values are to calculate as the weighted mean value of the height of box B and width:
P WB=(W B+H B)/(1+R B) = 2/3(W B+H B)
P HB=R B(W B+H B)/(1+R B)?= 1/3(W B+H B)。
The objective function of energy of expression said method can be half of quadratic sum of the tension force on level and the vertical direction:
E(A,B,C)=1/2(H A-P A) 2+1/2(H B-P HB) 2+1/2(W B-P WB) 2+
1/2(W C-PC) 2
=1/2[(H A-P A) 2+(H B-P HB) 2+(W B-P WB) 2+(W C-P C) 2]
=1/2[(m-2-a-P A) 2+(d-m-P HB) 2+(n-b-P WB) 2+
(c-n-2-P C) 2]。
In order to reduce above energy (not needing to calculate under the situation of this energy) in reality, reduce the partial derivative of the objective function on level and the vertical direction successively, till the absolute value sum that can not reduce the tension force on the both direction again, just enough.This handles the scheme that generates the tension force minimum.Use the absolute value of tension force, thereby can in stop condition, similarly handle positive and negative tension force.Partial derivative is:
δE/δm=m-2-a-P A+m-d+P HB=2m-59+P HB
δE/δn=n-c+2+P C+n-b-P WB=2n-11-P WR
Be set to zero by it partial derivative minimized, thereby obtain following relation:
m=1/2(2+a+P A+d-P HB)=1/2(59-P HB)
n=1/2(c-2-P C+b+P WB)=1/2(11+P WB)。
For this example, make the original width of box B and highly be respectively 15 and 10 units, therefore, m=d-10=33-10=23, and n=b+15=16.
W B=15
H B=10
m=23
n=16。
Calculate first-selected width and the height of box B:
P WB=2/3(W B+H B)
=2/3(15+10)
=50/3
=162/3
=16 (when being reduced to immediate integer).
P HB=1/3(W B+H B)
=1/3(15+10)
=25/3
=81/3
=8 (when being reduced to immediate integer).
The absolute value sum of calculated level and vertical tension is so that make space of a whole page mechanism can determine when end.In this case, Horizontal Tension T xBe the current width of box B and C and the summation of the difference between its first-selected width.Similarly, vertical tension T YBe the current height of box A and B and the summation of the difference between its preferred height.That is:
T X=(W C-P C)+(W B-P WB)
=(c-n-2-36)+(n-b-P WB)
=c-38-b-P WB(when cancellation n)
=48-38-1-P WB
=9-P WB
=9-16
=-7。
T Y=(H B-P HB)+(H A-P A)
=(d-m-P HB)+(m-2-a-22)
=d-P HB-2-a-22 (when cancellation m)
=33-P HB-2-2-22
=7-P HB
=7-8
=-1。
Tension force is for negative, and expressive notation needs left or moves up, to reduce these tension force.
Total tension force is the summation of the absolute value of vertical and Horizontal Tension:
T TOTAL=|T X|+|T Y|
=|-7|+|-1|
=7+1
=8。
The continuation of space of a whole page mechanism reduces the tension force on level and the vertical direction successively, till can not reducing total tension force again.
At first along continuous straight runs moves vertical marker.First-selected width with B is calculated as follows as early as possible:
P WB=2/3(W B+H B)
=16。
Unique vertical marker that can move is " n ", and by the coupled mark of constant offset rule (apart from 2 units in its right side).Two marks are moved, so that Horizontal Tension minimizes.Because the position of another mark can be derived as (n+2), so definite position that " n " should be moved to is just enough.As before determining by the following relationship formula, the position of calculating n, so that reduce the partial derivative of objective function with respect to n:
n=1/2(11+P WB)
=1/2(11+16)
=131/2
=13 (when being reduced to immediate integer).
" n " moves to position 13 with mark, so that reduce Horizontal Tension, also the width with box B becomes 12, that is:
W B=12
H B=10
m=23
n=13。
Because regular shape, the first-selected width of box B and highly becoming:
P WB=2/3(W B+H B)
=2/3(12+10)
=44/3
=142/3
=14 (when being reduced to immediate integer).
P HB=1/3(W B+H B)
=1/3(12+10)
=71/3
=7 (when being reduced to immediate integer).
Must recomputate total tension force now, whether reduce so that check total tension force, and if do not reduce, then space of a whole page process stops.New tension force is:
T X=9-P WB
=9-14
=-5。
T Y=7-P HB
=7-7
=0。
T TOTAL=|T X|+|T Y|
=|-5|+|0|
=5。
Because new tension force drops to 5 from 8, so this process will continue.
Now, move in the vertical direction horizontal mark.At this moment, have only " m " and coupled mark to move.The position that calculating should move to " m " will be because coupled mark will move to (m-2).As determining by the following relationship formula previously, objective function is minimized with respect to the partial derivative of m:
m=1/2(59-P HB)
=1/2(59-7)
=26。
" m " moves to position 26 with mark, so that reduce vertical tension, will move to position 24 by the coupled mark of constant offset rule.
W B=12
H B=7
m=26
n=13
Recomputate first-selected width and height and the total tension force of box B now:
P WB=2/3(W B+H B)
=2/3(12+7)
=38/3
=122/3
=12 (when being reduced to immediate integer).
P HB=1/3(W B+H B)
=1/3(12+7)
=61/3
=6 (when blocking) to immediate integer.
T X=9-P WB
=9-12
=-3。
T Y=7-P HB
=7-6
=1。
T TOTAL=|T X|+|T Y|
=|-3|+|1|
=4。
Because total tension force is reduced to 4 from 5, so this process will continue.Along continuous straight runs moves vertical marker once more, so that reduce tension force.
n=1/2(11+P WB)
=1/2(11+12)
=111/2
=11 (when being reduced to immediate integer).
" n " moves to position 11 with mark.The width of box B becomes 10 units.
W B=10
H B=7
m=26
n=11
Recomputate first-selected width and height and the total tension force of box B:
P WB=2/3(W B+H B)
=2/3(10+7)
=34/3
=111/3
=11 (when being reduced to immediate integer).
P HB=1/3(W B+H B)
=1/3(10+7)
=52/3
=5 (when being reduced to immediate integer).
T X=9-P WB
=9-11
=-2。
T Y=7-P HB
=7-5
=2。
T TOTAL=|T X|+|T Y|
=|-2|+|2|
=4。
Because total tension force is not reduced to below 4, so this process stops.Alternatively, can also be before process stops the mobile and horizontal mark.
This routine net result may be shown in Figure 40 B like that.Notice that box A and C can be overlapping in this case.This may be desired effect.If not expected effect, then, must add other constraint for anti-kind situation here takes place.For example, can add the smallest offset rule, so that force the left hand edge of box C to remain on the right side of the right hand edge of box A.
This example has only shown a regular shape and two first-selected skew rules, but real-life program can use regular shape to each box.Depending in box will content displayed, and regular shape also may be different.For example, can use aspect ratio rule and text shape rule.Every rule is calculated the ideal form of box by the mode of himself.
18.4 have the algorithm based on figure of dead center
In space of a whole page engine 105, allow to use the dead center rule, therefore need to revise the space of a whole page and calculate, correctly to handle the dead center rule.In Figure 30 B, shown in step 2901-B, shown the modification that the space of a whole page in the step 2901 (Figure 29) is calculated, and it is similar to the modification for supporting that the dead center rule is made in promoting operation.Figure 30 B is almost identical with Figure 30 A, and just Figure 30 B has represented how dead center is considered when calculating the space of a whole page.In Figure 30 A and 30B, step 3001,3003,3005,3009,3013,3015,3019,3023 and 3025 is common.
In Figure 30 B, step 3005 and 3015 must be included in the relative mark that calculates when promoting mark.Calculate two group echos, rather than calculate the single group echo that moves along a direction; One group moves right, and another group is moved to the left.This point with promote operation in identical.In Figure 30 B, step 3008 replaces step 3007, in step 3008, is that two group echos calculate maximum moving distance (ignoring the dead center rule) independently, and so the smaller's (with regard to quantity) in latter two value is the ultimate range that mark can move.Replace step 3011 with step 3012, replace step 3021 with step 3022, difference is to move together two group echos.In step 3012, will comprise that group of mark selected moves right in step 3003, and that group that will comprise the mark relative with mark in first group is moved to the left.In step 3022, will comprise that group of mark selected is moved to the left in step 3003, and that group that will comprise the mark relative with mark in first group moves right.Identical consideration is applicable to be to comprise that dead center revises the situation that promotes operation.In this, if any two are marked in same group relatively, then the initial point mark should be added in these two groups.In logic, if comprised the initial point mark, then should with have identical towards all relative marks to adding in two groups therefore because mobile initial point need move all fixation marks, and also must move all and have the box of dead center.Certainly, unnecessary in fact the establishment comprises the right group of the relative mark with all of initial point mark, because should not move them.If do not comprise the initial point mark in arbitrary group, then step 3008 ultimate range is set to zero, so step 3009,3012 and 3013 do not carry out any processing, and it can be skipped.Step 3018 replaces step 3017, and the same with step 3008, for having comprised that batch total calculation ultimate range of mark selected in step 3003, but also by with the relative underlined calculating ultimate range of mark in that group that comprises selected mark.Similarly, if arbitrary group in these two groups comprises the initial point mark, then step 3018 should ultimate range be set to zero.
19. document printing
Figure 36 is illustrated in the step of the method 3600 that relates to from the process of document template generation and document printing.Method 3600 begins in step 3601, and in this step, application program 121 is connected to database, and database cursor is arranged on the starting position of the form that has comprised required source data.The user can utilize dialog box shown in Figure 14 to specify needs to connect for which database.After step 3601, in step 3603, from database table, read next bar record, and upgrade vernier to point to next bar record.Because every piece of document in the document sets begins one piece of new document, and page counter is reset at the beginning of document template corresponding to a record.Enter step 3605 subsequently, application program 121 begins a new page for the document that is generating in this step, and generation is used for the space of a whole page of this page and is applied to this page.In step 3607, use the data in the current record, calculate the ideal dimensions of each container in the space of a whole page on current page.Then, in step 3609, use the ideal dimensions of in step 3607, being calculated to adjust space of a whole page rule.This generic operation can comprise the value that changes first-selected skew rule, and according to the ideal dimensions of calculating in step 3607 width of cloth shape rule is upgraded.In addition, for the width of text and highly all unfixed variable text container, collaborative text rule is determined height and width together, wherein the text in certain field of the text rule data-base recording that depends in step 3603 to be extracted.In step 3609, this type of text rule is upgraded.After step 3609, in step 3611, calculate the space of a whole page of current page.After calculating the space of a whole page, in step 3613, submit to and print page.After having printed the page, in step 3615, carry out test, so that determined whether to print all pages of current document.If not all printings, then method 3600 turns back to step 3605, to begin to calculate the next page.If for current document has printed all pages in the document template, then method 3600 proceeds to step 3617, in this step, carry out another test, whether be the last item record in the database table to determine current record.If treated all records in the database table, then method 3600 is finished, otherwise this process turns back to step 3603, and in this step, next the bar record among the sense data Ku Biaoge is so that printing next chapter document.
20. calculate possible text shape in advance
Be used to improve the speed of space of a whole page mechanism a kind of method, be that all shapes of any text that may comprise this space of a whole page are calculated in advance such as chapters and sections 18 described space of a whole page methods based on figure.By calculating shape before carrying out the space of a whole page and calculating, space of a whole page mechanism can be handled quickly, because carried out the calculating to text shape, and its result is stored to be used for quick retrieval subsequently.By the example among Figure 41 A-41K, illustrate the possible shape of some text is carried out Calculation Method.
The working method of this method is as follows:
1. shown in Figure 41 A, between word, keep suitable spacing as required, flatly arrange text (in external frame 4103, showing each word 4102) in end to end mode.Then with the width of the overall arrangement of word with highly be defined as surrounding the minimum box 4101 of word.In store data structure, the size of external frame 4103 is stored.In case of necessity, can use different fonts to measure word.Notice for the sake of clarity, a little interval is arranged between external frame 4103 and textbox 4102, but this interval does not exist when reality realizes.
2. obtain the width of external frame, then width is reduced a unit of used coordinate system.Then, use new width, arrange text once more as wide constraint.According to the requirement of the text flow rule of this wide constraint and text language, text will flow in the follow-up row.Therefore do not exist highly constrainedly, can use several rows as required.Determine new external frame according to this result, shown in Figure 41 B, and in store data structure, this new external frame is stored.Character pitch 4105 is followed the natural spacing rule of text language.For example, in English, not the interval calculation of end of line in external frame result of calculation.For some language, may be different for the definition that constitutes spacing between word or speech with the example that provides.
3. repeating step 2 is till can not being arranged in text in the narrower external frame.Figure 41 C-41K for example understands this process.Notice that in this example, each word such as word " Brevity " can have optional hyphen breakpoint 4104, shown in Figure 41 h-41k, breakpoint allows word is disconnected.When occurring this kind situation in the English, rule is with interpolation hyphen 4106.Though the rule of text language is depended in this processing, when calculating external frame, comprise the size and the position of the punctuation mark of this dynamic insertion usually.
4. the text shape of Ji Suaning is the external frame of storage.When needs know text block given wide constraint, highly constrained or width and highly constrained under can have when much, can in space of a whole page mechanism, use above shape.Can also use above-mentioned shape, understand next maximum or minimum shape on given one dimension direction, so that may make decision in the space of a whole page the several of text block apace.
Obviously, planning to make above-mentioned implementation to have the language that spacing is write from left to right between the word of known minimum dimension with use uses.For the language of not following this rule-like, can formulate another kind of alternative.For example, some Asian language is write each row then from right to left with the mode written character from the top down of row.For this kind language, need to revise space of a whole page process, exchanging the effect of vertical and lateral dimension, and the size of space character can be reduced to certain littler value or zero.Therefore, will be in step 1 the vertical stacking character, in step 2, will highly reduce 1 unit (it may be the height of character), and repeat this process then, to form more and more wideer external frame.Similarly, the disconnected word rule of every kind of language depends on the language of text.
21. form is created example
Figure 42 A-42C represents to use the certain methods as the described space of a whole page mechanism construction form based on figure of chapters and sections 18.With form definition is the rectangular area that is divided into cell, and each unit is preserved some content such as text or image alternatively.
Figure 42 A represents a kind of method that form is defined.Use the position of 4203 pairs of row and columns of guiding to define.Container 4201 is placed between the guiding, serving as the cell in the form, and placed content therein.Arm brace 4202 between the corresponding joining edge of guiding 4203 and container 4201 is so that define the back gauge between the content of adjacent cells lattice.If plan each cell is in alignment with each other, then pillar can have any Len req, comprises the distance of zero mark degree.
Guiding can be unfixed (they can be floating guiding), so that the content of each cell can promote guiding, allows to adjust the size of row and column thus so that adapt to the content of different size.Perhaps, can be with guide securement to the page, so that row and column is limited in certain size or position.By between guiding, placing pillar, also can utilize floating guiding to control the size of row and column.This allows whole form moving (because not guide securement to the page) on the page, but still can utilize the size of this technology control row and column.
Notice, the outside of the container in this form is fixed on the page.This processing may be unnecessary.Another kind of better method of replacing can be to use the outermost border of guiding definition tables, and place pillar between the outward flange of guiding and container, so that allow those edges to move together.
Figure 42 B represents the another kind replacement method of definition tables.Do not use guiding in this example.On the contrary, pillar 4205 directly is attached between the edge of adjacent container 4204, so that the back gauge size of nominated bank and row.The pillar 4205 that only between container of going up most and the most left container, just needs this appointment back gauge.By using length is zero pillar 4206, and other container in the form is linked to these constraints.
In the example shown in Figure 42 B, by highly being the feather edge of zero pillar 4206 link top line containers, thereby with the accurately alignment each other of its feather edge.Similarly, utilizing highly is the top edge that zero pillar links end row container, so that with they alignment.Simultaneously, only this means and just can define and control the back gauge size between that two row by a plumb post 4205.In fact, this is very useful, because it means that the change to the form back gauge only relates to first-selection or the actual range that changes a pillar, and is like that a plurality of pillars being changed of requiring of example among the image pattern 42A invariably.For shown in the right hand edge of the first from left row of link and the pillar 4206 of zero width of the left hand edge of the rightest row of link, similar logical relation is also set up.
As in Figure 42 A, the example among Figure 42 B also is fixed to the outward flange of form on the page.Just as the alignment inward flange, might use the pillar of distance of zero mark degree all outward flanges of container that align, rather than in a manner described the position and the size of form be fixed.This allows form is moved to any part that needs on the page, and need not one by one many fixing outer peripheral positions to be changed.Can use the space of a whole page method described in the chapters and sections 18.3 to realize this method.
The third replacement method can use guiding to come the outward flange of definition tables, and uses the align inward flange of form of the pillar of distance of zero mark degree.There is guiding also can realize similar effect with many other variable combination of pillar.
Notice, need the method for some alignment form inward flange, so that form the form of traditional concept.Figure 42 C is illustrated in situation about being occurred when neither using guiding also not use pillar to align inward flange.Once more as the cell of form, and utilize the distance between 4208 pairs of adjacent containers of pillar to define in container 4207.Yet, notice that this example lacks and prevents the overlapping method of the relative container in diagonal angle, because the inward flange that does not make row and column is separately.
This may produce the important and variable arrangement of container and content, and the space of a whole page method of describing in chapters and sections 18.3 and the follow-up chapters and sections can generate this kind arrangement (all existing examples that are not space of a whole page method all can generate this kind arrangement).Yet for the form of traditional concept, the example shown in Figure 42 A and the 42B is more suitable for realizing the row and column of complete matching.
Industrial usability
Said method is applicable to computing machine and data processing industry, and is specially adapted to utilize variable data to reproduce the situation of the large volume document that has the same format and the space of a whole page in fact.Its example is included as all different many people of title, address and other personal information and generates mail.Another example is, generate the advertisement pamphlet relevant with the different destinations of spending a holiday, wherein each pamphlet is characterised in that the unique content that comprises text and image, but all pamphlets all generate according to the general space of a whole page, and wherein this space of a whole page is represented the institutional brand or the style of releasing advertisements.Many other examples also are suitable for.
Above only described some embodiment of the present invention, can make various modifications and/or change to it, and not deviate from scope of the present invention and essence, described embodiment is illustrative and not restrictive.

Claims (44)

1. method based on the space of a whole page of template establishment variable data documents said method comprising the steps of:
At least one container is set, to form the described space of a whole page in this template;
Set up each selected feature constraints associated at least one feature of at least one and this container;
Use that graphical user interface displays is set up by described establishment step, with by described the container constraints associated that step is provided with is set; And
Revise the space of a whole page, so that generate document by content is placed in a plurality of containers, wherein under the condition of the constraint of each in satisfying the space of a whole page, according to the attribute of institute's placed content, change the size of one dimension at least of described at least one container and at least one in the position of described at least one container in the described space of a whole page.
2. according to the process of claim 1 wherein, described foundation comprises sets up two described constraints, and wherein each described constraint is relevant with an individual features of described container.
3. according to the method for claim 2, wherein, described feature is to select from the group that comprises following feature: the non-mid point on the center line of the angle of described container, the mid point on the limit of described container, the non-mid point on described limit, described container and the central point of described container.
4. according to the process of claim 1 wherein, the described attribute of described placed content comprises the size of described placed content.
5. according to the method for claim 4, wherein, described size comprises the width of described placed content.
6. according to the method for claim 4, wherein, described size comprises the height of described placed content.
7. according to the process of claim 1 wherein,, carry out Client-initiated and select by user's operation and the consistent indicating equipment of describing by the expression of the described space of a whole page in the graphic user interface of described character pair.
8. according to the process of claim 1 wherein, described foundation one of may further comprise the steps:
The described character pair that does not set in advance constraint is provided with a constraint; And
The described character pair of resetting, the constraint that sets in advance with deletion.
9. method according to Claim 8 wherein, provides a constraint symbol on each the described feature with the constraint set.
10. according to the process of claim 1 wherein, described container is a rectangle, and described size comprises the width and the height of described container, and for each described container, described content comprises text and/or picture material.
11. according to the method for claim 10, wherein, described feature comprises the angle of described container, and each the described angle with the constraint set is maintained fixed in the described space of a whole page.
12. according to the method for claim 10, wherein, described feature comprises the mid point at the edge of described container, and is satisfying size and/or the position that changes container under the situation of following condition:
For each the described edge mid-points with the constraint set, (1) edge can be expanded or shrink symmetrically, and the mid point at (2) edge is maintained fixed.
13. according to the method for claim 10, wherein, described feature comprises the non-mid point on the corresponding edge of described container, and changes the size and/or the position of container under situation about meeting the following conditions:
For every edge with the constraint set, the length at (1) edge can freely be expanded or shrink, and (2) do not move this edge along the direction with this edge-perpendicular.
14. according to the method for claim 10, wherein, described feature comprises the level of described container and the non-point midway on the median vertical line, and changes the size of container and at least one in the position under situation about meeting the following conditions:
For every center line with the constraint set, (1) center line is maintained fixed, and (2) can be expanded or be shunk symmetrically with the edge of middle line parallel, and (3) can be independent of the fixing center line pair edge vertical with center line and position.
15. according to the method for claim 10, wherein, a described feature comprises the central point of described container, and changes the size and/or the position of container under situation about meeting the following conditions:
For the central point with the constraint set, (1) central point is maintained fixed, and first pair of parallel edge expansion of (2) container or shrink first quantity, and another is to the parallel edge expansion or shrink second quantity.
16., further comprising the steps of according to the method for claim 11:
Another angle to described container is provided with another constraint, and wherein said another constraint is provided with according to pre-defined rule.
17. according to the process of claim 1 wherein,
The described step that is provided with is included in first and second containers is set in the template, to form the described space of a whole page;
Described establishment step comprises an edge selecting first container, is article one edge, select second container an edge, be the second edge, described selection comprises uses the selection of described graphical user interface displays to described article one and second edge; And
Described modification comprises revises the described space of a whole page, so that generate document in the container by content is placed into, wherein under the condition that the offset between article one edge and the second edge is fixed, according to the attribute of institute's placed content, change the size of first container and second container and at least one in the position.
18. method according to claim 17, wherein, by user operation at least with the consistent indicating equipment of describing by the expression of the described space of a whole page in the graphic user interface in described corresponding edge, the execution Client-initiated is selected, described method also is included in and shows a pillar symbol, the described offset between this pillar symbolic representation article one edge and the second edge in the graphic user interface.
19. method according to claim 18, wherein, by the selectivity operation of described indicating equipment in described first container, and the indicating equipment of described operation moved in described second container, carry out described selection, cross over described article one and second edge thus, therefore the cancellation selection operation of described indicating equipment will form the described pillar between the described edge.
20., wherein,, carry out described selection by first operation and second operation of described indicating equipment in described second container of described indicating equipment in described first container according to the method for claim 18.
21. according to the process of claim 1 wherein,
Described foundation is included in and sets up a guiding in this space of a whole page, and between a described container and this guiding skew is set; And
Described modification comprises by content is placed into and generates document in the described container and revise the space of a whole page, wherein under the condition that keeps skew, according to the attribute of institute's placed content, changes the size of a described container and at least one in the position.
22. the method according to claim 21 also comprises: another container is set in described template, and between described another container and described guiding, another skew is set.
23., also be included in the step of mobile guide in the space of a whole page according to the method for claim 21.
24. method according to claim 21, wherein, the described consistent indicating equipment of describing by the expression of the described space of a whole page in user operation and the graphic user interface that leads, execution is to the described setting of described skew, described method also is included in and shows an associated symbol in the graphic user interface, and associated symbol is represented the association between described guiding and the described container.
25. according to the process of claim 1 wherein,
Described setting is included in first container and second container is set in the template, to form the described space of a whole page; And
Described modify steps comprises by content is placed into and generates document in first container and second container and revise the space of a whole page, wherein, under at least one attribute that changes first container and this at least one attribute and the synchronous condition of a corresponding attribute of second container, according to the attribute of content, change the size of first container and second container and at least one in the position.
26. according to the method for claim 25, wherein, described content comprises content of text at least, a described attribute of first container is to select from the group of size text, line space and the character pitch that comprises described content of text.
27. according to the process of claim 1 wherein,
Described foundation also is included in this at least one container and sets up a plurality of hurdles, and adjacent hurdle is separated by separator bar; And
Described modification comprises by content of text being placed in this at least one container, revises the document, be variable so that make the size on a container and hurdle, and the size of separator bar is fixed.
28. according to the method for claim 27, wherein, described container has visible background, and describedly described a plurality of hurdle is set also comprises: a border is set in described container, and described field is in this border.
29. according to the process of claim 1 wherein,
Described foundation also is included at least one described container and sets up a plurality of hurdles, and adjacent hurdle separates with separator bar; And
Described modification comprises the modification space of a whole page, so that generate at least one described document by content of text at least is placed in the described container, be variable so that make the size on a described container and hurdle, and the size of separator bar is fixed.
30. according to the process of claim 1 wherein,
Described foundation also is included in described at least one container and sets up a plurality of hurdles, so that constitute and to place the adjacent hurdle of text therein by two borders and the separator bar that is positioned at center, described two borders, and change the position on a border in described two borders, to change the size of the separator bar between the adjacent described hurdle; And
Described modification comprises by content of text being placed in described at least one container revises document.
31. according to the method for claim 30, wherein, by Client-initiated along the position on a described border to the selection on a described border, change the described position on a described border.
32. method according to claim 31, wherein, the described indicating equipment that the border is consistent of the expression description by the described space of a whole page in user operation and the graphic user interface, and the border of described selection moved to another position in the described space of a whole page, carry out described selection.
33. according to the process of claim 1 wherein,
Described modification comprises by content is placed into and generates document in the container and revise the space of a whole page, so that under the condition of the internal edges distance of determining container according to the relation between the background of the background color of container and template, change the size of container and at least one in the position.
34. according to the process of claim 1 wherein,
Described foundation comprises sets up a container area, the variable position that described container area has fixed measure and is associated with described container; And
Described modification comprises by content is placed into and generates document in the container and revise the described space of a whole page, thereby do not violate at this container under the condition in associated container zone, according to the attribute of institute's placed content, changes the size of container and at least one in the position.
35. according to the method for claim 34, wherein, described container area is the maximum region around described container.
36. according to the method for claim 34, wherein, described container area is the Minimum Area in the described container.
37. according to the process of claim 1 wherein,
Described at least one container has height and width;
Described foundation comprises that in described height and the width at least one is set to fixed measure;
And
Described modification comprises by content is placed into and generates document in the container and revise the described space of a whole page, thereby that is provided with in described height and width remains under the condition of described fixed measure, according to the attribute of institute's placed content, change another size of container and at least one in the position.
38. according to the method for claim 37, wherein, described setting comprise detect Client-initiated, to the selection at the edge of the described container that defined a described height and width.
39. method according to claim 38, wherein, the consistent indicating equipment in described corresponding edge of the expression description by the described space of a whole page in user operation and the graphic user interface, carrying out Client-initiated selects, described method also is included in and shows a symbol, the fixed measure between the described edge of this symbolic representation in the graphic user interface.
40. according to the process of claim 1 wherein,
Described setting is included in a batch containers is set in the template, to form the described space of a whole page;
Described foundation comprises: a plurality of guiding (i) are set in this space of a whole page, a described batch containers is divided into lines and is listed as, row and column constitutes the cell by described container definition, and (ii) sets up skew between a corresponding adjacent side of each described guiding and each described container; And
Described modification comprises by content is placed into and generates document in the container and revise the space of a whole page, thereby under the condition that keeps skew, according to the attribute of placed content, changes the size of container and at least one in the position.
41. according to the process of claim 1 wherein,
Row and row that described setting is included in the template are provided with a batch containers, to form the described space of a whole page;
Described foundation comprises the skew between the edge of setting up adjacent container, in order to stipulate the back gauge size of described row and row; And
Described modification comprises by content is placed into and generates document in the container and revise the space of a whole page, thereby under the condition that keeps skew, according to the attribute of institute's placed content, changes the size of container and at least one in the position.
42. according to the method for claim 41, wherein, between the next-door neighbour's container in first container and adjacent column and row described skew is set, described method also is included in a plurality of length are set between the adjacent container in the each row and column is zero skew.
43. a computer-readable medium that has program recorded thereon on it, this program are suitable for making computing machine to carry out the process that generates the space of a whole page of variable data documents according to template, described program comprises:
Be used at least one container being set to form the code of the described space of a whole page in template;
Be used for setting up the code of each selected feature constraints associated of at least one feature of at least one and this container;
Be used to use the code of the constraint of setting up that graphical user interface displays is associated with the container of setting; And
Be used for revising the space of a whole page so that by content being placed into the code that a plurality of containers generate document, wherein under the condition of the constraint of each in satisfying the space of a whole page, according to the attribute of institute's placed content, change the size of one dimension at least of described at least one container and at least one in the position of described at least one container in the described space of a whole page.
44. a computer installation that is used for according to the space of a whole page of template establishment variable data documents, described device comprises:
Be used at least one container being set to form the device of the described space of a whole page in template;
Be used for setting up the device of each selected feature constraints associated of at least one feature of at least one and this container;
Be used for by using graphic user interface on display device, to show the device of the constraint of setting up that is associated with the container of setting; And
Be used for revising the space of a whole page so that by content being placed into the device that a plurality of containers generate document, wherein under the condition of the constraint of each in satisfying the space of a whole page, according to the attribute of institute's placed content, change the size of one dimension at least of described at least one container and at least one in the position of described at least one container in the described space of a whole page.
CNA2004100769091A 2003-10-15 2004-09-03 User interface for creation and editing of variable data documents Pending CN1607522A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2003905659A AU2003905659A0 (en) 2003-10-15 User Interface for Creation and Editing of Variable Data Documents
AU2003905659 2003-10-15

Publications (1)

Publication Number Publication Date
CN1607522A true CN1607522A (en) 2005-04-20

Family

ID=34318325

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2004100769091A Pending CN1607522A (en) 2003-10-15 2004-09-03 User interface for creation and editing of variable data documents

Country Status (5)

Country Link
US (1) US7548334B2 (en)
EP (1) EP1524607A3 (en)
JP (1) JP2005122728A (en)
KR (1) KR100725889B1 (en)
CN (1) CN1607522A (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101421699A (en) * 2005-12-01 2009-04-29 艾利丹尼森公司 System and method of managing a ticket order
CN101908218A (en) * 2009-06-03 2010-12-08 佳能株式会社 Editing equipment and method for arranging
CN102169434A (en) * 2010-02-25 2011-08-31 微软公司 Constraint-based correction of shape and position in chart
CN101383871B (en) * 2007-09-06 2012-02-22 中兴通讯股份有限公司 Network element configuration implementing method and apparatus
CN102736836A (en) * 2011-05-06 2012-10-17 新奥特(北京)视频技术有限公司 Feasibility judgment method for dragging of vertex or side of bounding box of object in scene
CN104714797A (en) * 2013-12-12 2015-06-17 南宁市磁汇科技有限公司 One-button type WEB page closing method
CN104793906A (en) * 2014-01-17 2015-07-22 北大方正集团有限公司 Method and device for achieving intelligent marking
CN105260351A (en) * 2015-09-10 2016-01-20 武汉改图网技术有限公司 Online self-service presswork design method based on self-adaptive template
US9324168B2 (en) 2008-01-31 2016-04-26 Microsoft Technology Licensing, Llc Constraint-based correction of shape positions in a diagram
CN105549921A (en) * 2015-12-10 2016-05-04 武汉改图网技术有限公司 Online to offline printing design output system based on cloud service
CN107918648A (en) * 2017-11-09 2018-04-17 程杰 A kind of foundation of planar design template library and template lookup method
CN110633461A (en) * 2019-09-10 2019-12-31 北京百度网讯科技有限公司 Document detection processing method and device, electronic equipment and storage medium
CN110909506A (en) * 2018-09-10 2020-03-24 北京京东金融科技控股有限公司 Method and device for generating planar design material
CN110908647A (en) * 2019-11-29 2020-03-24 苏州精易会信息技术有限公司 Object variable presenting method, device, terminal and storage medium for building block programming
CN112948002A (en) * 2021-03-04 2021-06-11 浪潮云信息技术股份公司 Method for carrying out configuration management on workflow submission page
CN113485703A (en) * 2021-06-21 2021-10-08 上海百秋电子商务有限公司 Online interactive commodity detail page editing method and system

Families Citing this family (196)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6765689B1 (en) * 2000-03-15 2004-07-20 LojX, Inc. Method and system for preparing printed matter
US20030038972A1 (en) * 2002-09-10 2003-02-27 Benstein Thomas A Method and system for preparing printed matter
US20040123247A1 (en) * 2002-12-20 2004-06-24 Optimost Llc Method and apparatus for dynamically altering electronic content
US9715678B2 (en) 2003-06-26 2017-07-25 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US7707255B2 (en) 2003-07-01 2010-04-27 Microsoft Corporation Automatic grouping of electronic mail
US7573486B2 (en) * 2003-08-18 2009-08-11 LumaPix Inc. Method and system for automatic generation of image distributions
US7434160B2 (en) 2003-12-03 2008-10-07 Hewlett-Packard Development Company, L.P. PDF document to PPML template translation
US8068103B2 (en) * 2004-06-24 2011-11-29 Apple Inc. User-interface design
US8121338B2 (en) * 2004-07-07 2012-02-21 Directsmile Gmbh Process for generating images with realistic text insertion
JP4095592B2 (en) * 2004-08-06 2008-06-04 キヤノン株式会社 Information processing apparatus, information processing method, and program
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US9015621B2 (en) 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US7895531B2 (en) 2004-08-16 2011-02-22 Microsoft Corporation Floating command object
US8146016B2 (en) 2004-08-16 2012-03-27 Microsoft Corporation User interface for displaying a gallery of formatting options applicable to a selected object
US7703036B2 (en) 2004-08-16 2010-04-20 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US7500186B2 (en) * 2004-08-30 2009-03-03 Microsoft Corporation Systems and methods for efficiently generating table layouts using moveable items
US8510657B2 (en) * 2004-09-30 2013-08-13 Microsoft Corporation Editing the text of an arbitrary graphic via a hierarchical list
US7348982B2 (en) 2004-09-30 2008-03-25 Microsoft Corporation Method, system, and computer-readable medium for creating and laying out a graphic within an application program
US7747966B2 (en) 2004-09-30 2010-06-29 Microsoft Corporation User interface for providing task management and calendar information
US8134575B2 (en) 2004-09-30 2012-03-13 Microsoft Corporation Maintaining graphical presentations based on user customizations
US20060074704A1 (en) * 2004-10-01 2006-04-06 Microsoft Corporation Framework to model cross-cutting behavioral concerns in the workflow domain
US7805324B2 (en) * 2004-10-01 2010-09-28 Microsoft Corporation Unified model for authoring and executing flow-based and constraint-based workflows
US8023130B2 (en) 2004-10-08 2011-09-20 Sharp Laboratories Of America, Inc. Methods and systems for imaging device accounting data maintenance
US8120793B2 (en) 2004-10-08 2012-02-21 Sharp Laboratories Of America, Inc. Methods and systems for displaying content on an imaging device
US7978618B2 (en) 2004-10-08 2011-07-12 Sharp Laboratories Of America, Inc. Methods and systems for user interface customization
US7969596B2 (en) 2004-10-08 2011-06-28 Sharp Laboratories Of America, Inc. Methods and systems for imaging device document translation
US7920101B2 (en) 2004-10-08 2011-04-05 Sharp Laboratories Of America, Inc. Methods and systems for imaging device display standardization
US8115945B2 (en) 2004-10-08 2012-02-14 Sharp Laboratories Of America, Inc. Methods and systems for imaging device job configuration management
US8060921B2 (en) * 2004-10-08 2011-11-15 Sharp Laboratories Of America, Inc. Methods and systems for imaging device credential authentication and communication
US8237946B2 (en) 2004-10-08 2012-08-07 Sharp Laboratories Of America, Inc. Methods and systems for imaging device accounting server redundancy
US8001183B2 (en) 2004-10-08 2011-08-16 Sharp Laboratories Of America, Inc. Methods and systems for imaging device related event notification
US8051140B2 (en) 2004-10-08 2011-11-01 Sharp Laboratories Of America, Inc. Methods and systems for imaging device control
US8024792B2 (en) 2004-10-08 2011-09-20 Sharp Laboratories Of America, Inc. Methods and systems for imaging device credential submission
US8001586B2 (en) 2004-10-08 2011-08-16 Sharp Laboratories Of America, Inc. Methods and systems for imaging device credential management and authentication
US7873553B2 (en) * 2004-10-08 2011-01-18 Sharp Laboratories Of America, Inc. Methods and systems for authorizing imaging device concurrent account use
US8384925B2 (en) 2004-10-08 2013-02-26 Sharp Laboratories Of America, Inc. Methods and systems for imaging device accounting data management
US8018610B2 (en) 2004-10-08 2011-09-13 Sharp Laboratories Of America, Inc. Methods and systems for imaging device remote application interaction
US8156424B2 (en) * 2004-10-08 2012-04-10 Sharp Laboratories Of America, Inc. Methods and systems for imaging device dynamic document creation and organization
US8001587B2 (en) 2004-10-08 2011-08-16 Sharp Laboratories Of America, Inc. Methods and systems for imaging device credential management
US7826081B2 (en) 2004-10-08 2010-11-02 Sharp Laboratories Of America, Inc. Methods and systems for receiving localized display elements at an imaging device
US7970813B2 (en) 2004-10-08 2011-06-28 Sharp Laboratories Of America, Inc. Methods and systems for imaging device event notification administration and subscription
US8171404B2 (en) 2004-10-08 2012-05-01 Sharp Laboratories Of America, Inc. Methods and systems for disassembly and reassembly of examination documents
US8035831B2 (en) 2004-10-08 2011-10-11 Sharp Laboratories Of America, Inc. Methods and systems for imaging device remote form management
US8051125B2 (en) 2004-10-08 2011-11-01 Sharp Laboratories Of America, Inc. Methods and systems for obtaining imaging device event notification subscription
US8006292B2 (en) * 2004-10-08 2011-08-23 Sharp Laboratories Of America, Inc. Methods and systems for imaging device credential submission and consolidation
US8115944B2 (en) 2004-10-08 2012-02-14 Sharp Laboratories Of America, Inc. Methods and systems for local configuration-based imaging device accounting
US8120799B2 (en) 2004-10-08 2012-02-21 Sharp Laboratories Of America, Inc. Methods and systems for accessing remote, descriptor-related data at an imaging device
US8213034B2 (en) 2004-10-08 2012-07-03 Sharp Laboratories Of America, Inc. Methods and systems for providing remote file structure access on an imaging device
US8115947B2 (en) 2004-10-08 2012-02-14 Sharp Laboratories Of America, Inc. Methods and systems for providing remote, descriptor-related data to an imaging device
US8120798B2 (en) 2004-10-08 2012-02-21 Sharp Laboratories Of America, Inc. Methods and systems for providing access to remote, descriptor-related data at an imaging device
US8006176B2 (en) 2004-10-08 2011-08-23 Sharp Laboratories Of America, Inc. Methods and systems for imaging-device-based form field management
US8060930B2 (en) 2004-10-08 2011-11-15 Sharp Laboratories Of America, Inc. Methods and systems for imaging device credential receipt and authentication
US8065384B2 (en) 2004-10-08 2011-11-22 Sharp Laboratories Of America, Inc. Methods and systems for imaging device event notification subscription
US8125666B2 (en) 2004-10-08 2012-02-28 Sharp Laboratories Of America, Inc. Methods and systems for imaging device document management
US8120797B2 (en) 2004-10-08 2012-02-21 Sharp Laboratories Of America, Inc. Methods and systems for transmitting content to an imaging device
US8032608B2 (en) 2004-10-08 2011-10-04 Sharp Laboratories Of America, Inc. Methods and systems for imaging device notification access control
US7870185B2 (en) 2004-10-08 2011-01-11 Sharp Laboratories Of America, Inc. Methods and systems for imaging device event notification administration
US8006293B2 (en) 2004-10-08 2011-08-23 Sharp Laboratories Of America, Inc. Methods and systems for imaging device credential acceptance
US8115946B2 (en) 2004-10-08 2012-02-14 Sharp Laboratories Of America, Inc. Methods and sytems for imaging device job definition
US8032579B2 (en) 2004-10-08 2011-10-04 Sharp Laboratories Of America, Inc. Methods and systems for obtaining imaging device notification access control
US8230328B2 (en) 2004-10-08 2012-07-24 Sharp Laboratories Of America, Inc. Methods and systems for distributing localized display elements to an imaging device
US7966396B2 (en) 2004-10-08 2011-06-21 Sharp Laboratories Of America, Inc. Methods and systems for administrating imaging device event notification
US8015234B2 (en) 2004-10-08 2011-09-06 Sharp Laboratories Of America, Inc. Methods and systems for administering imaging device notification access control
US7873718B2 (en) 2004-10-08 2011-01-18 Sharp Laboratories Of America, Inc. Methods and systems for imaging device accounting server recovery
US8049677B2 (en) 2004-10-08 2011-11-01 Sharp Laboratories Of America, Inc. Methods and systems for imaging device display element localization
US7934217B2 (en) 2004-10-08 2011-04-26 Sharp Laboratories Of America, Inc. Methods and systems for providing remote file structure access to an imaging device
US20060103667A1 (en) * 2004-10-28 2006-05-18 Universal-Ad. Ltd. Method, system and computer readable code for automatic reize of product oriented advertisements
WO2006055751A2 (en) * 2004-11-16 2006-05-26 Compography, Inc. Display/layout methods and apparatuses including content items and display containers
US8745512B2 (en) * 2004-11-17 2014-06-03 Microsoft Corporation Method and computer-readable medium for interacting with a portion of an electronic document
AU2004231206A1 (en) * 2004-11-19 2006-06-08 Canon Kabushiki Kaisha Displaying a plurality of images in a stack arrangement
GB2421106A (en) * 2004-12-07 2006-06-14 Hewlett Packard Development Co A method and apparatus for preparing variable-data documents for publishing
JP4759378B2 (en) * 2004-12-17 2011-08-31 キヤノン株式会社 Information processing apparatus, information processing method, and control program
JP4560416B2 (en) * 2005-01-27 2010-10-13 キヤノン株式会社 Information processing apparatus, control method therefor, and program
JP4756870B2 (en) * 2005-02-03 2011-08-24 キヤノン株式会社 Document processing apparatus, document processing method, and program
US7644350B2 (en) * 2005-02-18 2010-01-05 Ricoh Company, Ltd. Techniques for validating multimedia forms
US8428484B2 (en) 2005-03-04 2013-04-23 Sharp Laboratories Of America, Inc. Methods and systems for peripheral accounting
IL167283A (en) * 2005-03-07 2007-06-03 Israel Marmorstein Methods for printing booklets and booklets printed thereby
US20060224953A1 (en) * 2005-04-01 2006-10-05 Xiaofan Lin Height-width estimation model for a text block
US20060248071A1 (en) * 2005-04-28 2006-11-02 Xerox Corporation Automated document localization and layout method
KR100670332B1 (en) * 2005-05-02 2007-01-16 삼성에스디아이 주식회사 An Organic Light Emitting Display Device and driving method thereof
US7434159B1 (en) * 2005-05-11 2008-10-07 Hewlett-Packard Development Company, L.P. Automatically layout of document objects using an approximate convex function model
US7644356B2 (en) * 2005-06-10 2010-01-05 Hewlett-Packard Development Company, L.P. Constraint-based albuming of graphic elements
KR100681523B1 (en) * 2005-06-24 2007-02-09 주식회사 시그마플러스 The metrix database structure in the pop world database structure and the method for materializing thereof
JP4732029B2 (en) * 2005-06-29 2011-07-27 キヤノン株式会社 Layout determining method, information processing apparatus, and layout determining program
KR100657324B1 (en) * 2005-07-04 2006-12-14 삼성전자주식회사 Image forming method and system using xhtml-print data
US20070028161A1 (en) * 2005-07-26 2007-02-01 Haugh Julianne F Displaying text in variable width display fields
US7843466B2 (en) * 2005-07-29 2010-11-30 Vistaprint Technologies Limited Automated image framing
KR20080048027A (en) 2005-08-09 2008-05-30 잘락 코포레이션 Methods and apparatuses to assemble, extract and deploy content from electronic documents
US7676744B2 (en) * 2005-08-19 2010-03-09 Vistaprint Technologies Limited Automated markup language layout
US8839095B2 (en) * 2005-08-19 2014-09-16 Adobe Systems Incorporated User interface to define and/or communicate space between objects
US7584424B2 (en) * 2005-08-19 2009-09-01 Vista Print Technologies Limited Automated product layout
US8239882B2 (en) * 2005-08-30 2012-08-07 Microsoft Corporation Markup based extensibility for user interfaces
GB2430060A (en) * 2005-09-08 2007-03-14 Hewlett Packard Development Co Flows for variable data printing
US9542667B2 (en) 2005-09-09 2017-01-10 Microsoft Technology Licensing, Llc Navigating messages within a thread
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US8176410B1 (en) * 2005-09-13 2012-05-08 Adobe Systems Incorporated System and/or method for content cropping
JP4328762B2 (en) * 2005-12-06 2009-09-09 キヤノン株式会社 Information processing apparatus, information processing method, program, and storage medium
US8438486B2 (en) 2006-02-09 2013-05-07 Microsoft Corporation Automatically converting text to business graphics
US8166390B2 (en) * 2006-02-15 2012-04-24 Microsoft Corporation Figure sizing and positioning on dynamic pages
US8064096B2 (en) * 2006-02-22 2011-11-22 Xerox Corporation Document template derived from variable data print file
US20070204220A1 (en) * 2006-02-27 2007-08-30 Microsoft Corporation Re-layout of network content
JP2007241661A (en) * 2006-03-08 2007-09-20 Canon Inc Image forming device and its control method
US8780139B2 (en) * 2006-03-27 2014-07-15 Adobe Systems Incorporated Resolution monitoring when using visual manipulation tools
US20070239498A1 (en) * 2006-03-30 2007-10-11 Microsoft Corporation Framework for modeling cancellation for process-centric programs
JP4829662B2 (en) 2006-04-05 2011-12-07 キヤノン株式会社 Automatic layout system, information providing method, and server system
US20070266309A1 (en) * 2006-05-12 2007-11-15 Royston Sellman Document transfer between document editing software applications
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
JP4804241B2 (en) * 2006-06-23 2011-11-02 キヤノン株式会社 Print data generation apparatus, print data generation method, and computer program
US8345272B2 (en) 2006-09-28 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for third-party control of remote imaging jobs
US7979785B1 (en) 2006-10-04 2011-07-12 Google Inc. Recognizing table of contents in an image sequence
US7912829B1 (en) 2006-10-04 2011-03-22 Google Inc. Content reference page
US8782551B1 (en) * 2006-10-04 2014-07-15 Google Inc. Adjusting margins in book page images
US7755646B2 (en) * 2006-10-17 2010-07-13 Hewlett-Packard Development Company, L.P. Image management through lexical representations
GB2443448B (en) * 2006-10-31 2011-06-08 Hewlett Packard Development Co Variable data printing
US20080134092A1 (en) * 2006-11-30 2008-06-05 Sonia Jean Cushing Dynamic creation of labels
AU2006252248B2 (en) * 2006-12-22 2009-06-04 Canon Kabushiki Kaisha Efficient kernel calculation for interpolation
US11113451B2 (en) * 2007-01-30 2021-09-07 Thomson Reuters Enterprise Centre Gmbh Representation of mark-up of master documents
US7932907B2 (en) * 2007-05-21 2011-04-26 Microsoft Corp. Layered graph layouts with a given aspect ratio
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US8201103B2 (en) 2007-06-29 2012-06-12 Microsoft Corporation Accessing an out-space user interface for a document editor program
KR100886657B1 (en) * 2007-07-20 2009-03-04 삼성중공업 주식회사 System and Method for making Basic Document of Dimensional Accuracy Check Sheet for Block in Ship Production
JP4968931B2 (en) * 2007-08-24 2012-07-04 キヤノン株式会社 Information processing apparatus, information processing method, and program
KR100910109B1 (en) * 2007-11-12 2009-07-30 주식회사 엘지텔레콤 Mobile widget using mobile communication terminal, mobile widget providing system and method for the same
WO2009070933A1 (en) * 2007-12-06 2009-06-11 Cham Ping Lam Method and device for establishing relational table database
US20090164285A1 (en) * 2007-12-20 2009-06-25 International Business Machines Corporation Auto-cascading clear to build engine for multiple enterprise order level parts management
US9588781B2 (en) 2008-03-31 2017-03-07 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US20090254814A1 (en) * 2008-04-08 2009-10-08 Microsoft Corporation Per-edge rules and constraints-based layout mechanism
JP5188881B2 (en) * 2008-05-27 2013-04-24 富士フイルム株式会社 Data conversion apparatus, data conversion program, and data conversion method
US8661342B2 (en) * 2008-06-17 2014-02-25 Microsoft Corporation Mail merge integration techniques
US9665850B2 (en) 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US8161379B2 (en) * 2008-06-20 2012-04-17 Microsoft Corporation Fit and fill techniques for pictures
US8402096B2 (en) 2008-06-24 2013-03-19 Microsoft Corporation Automatic conversation techniques
US8411085B2 (en) * 2008-06-27 2013-04-02 Microsoft Corporation Constructing view compositions for domain-specific environments
US8620635B2 (en) * 2008-06-27 2013-12-31 Microsoft Corporation Composition of analytics models
US8290971B2 (en) * 2008-09-09 2012-10-16 Applied Systems, Inc. Method and apparatus for remotely displaying a list by determining a quantity of data to send based on the list size and the display control size
JP5183384B2 (en) * 2008-09-18 2013-04-17 キヤノン株式会社 Layout processing method, layout processing apparatus, and layout control program
US20100100214A1 (en) * 2008-10-21 2010-04-22 Avery Dennison Corporation Custom-designed printed office products and related method
JP2010113479A (en) * 2008-11-05 2010-05-20 Canon Inc Information processing apparatus and information processing method
US8314793B2 (en) * 2008-12-24 2012-11-20 Microsoft Corporation Implied analytical reasoning and computation
US8219927B2 (en) * 2009-01-06 2012-07-10 Microsoft Corporation Revealing of truncated content on scrollable grid
US8707156B2 (en) * 2009-04-02 2014-04-22 Business Objects, S.A. Render engine for spreadsheet
US8296653B2 (en) * 2009-04-06 2012-10-23 Xerox Corporation Variable imaging asset upload and verification
US9046983B2 (en) 2009-05-12 2015-06-02 Microsoft Technology Licensing, Llc Hierarchically-organized control galleries
US8866818B2 (en) 2009-06-19 2014-10-21 Microsoft Corporation Composing shapes and data series in geometries
US8788574B2 (en) * 2009-06-19 2014-07-22 Microsoft Corporation Data-driven visualization of pseudo-infinite scenes
US8493406B2 (en) * 2009-06-19 2013-07-23 Microsoft Corporation Creating new charts and data visualizations
US9330503B2 (en) 2009-06-19 2016-05-03 Microsoft Technology Licensing, Llc Presaging and surfacing interactivity within data visualizations
US8531451B2 (en) * 2009-06-19 2013-09-10 Microsoft Corporation Data-driven visualization transformation
US8692826B2 (en) * 2009-06-19 2014-04-08 Brian C. Beckman Solver-based visualization framework
US20100325564A1 (en) * 2009-06-19 2010-12-23 Microsoft Corporation Charts in virtual environments
JP2011008352A (en) * 2009-06-23 2011-01-13 Canon Inc Document processor, document processing method, and program
JP5632593B2 (en) * 2009-07-01 2014-11-26 キヤノン株式会社 Information processing apparatus, control method, and program
US8352397B2 (en) * 2009-09-10 2013-01-08 Microsoft Corporation Dependency graph in data-driven model
FR2957442B1 (en) * 2010-03-10 2013-04-19 Markem Imaje USER INTERFACE FOR AN INDUSTRIAL PRINTER
US8799325B2 (en) 2010-03-12 2014-08-05 Microsoft Corporation Reordering nodes in a hierarchical structure
JP5739623B2 (en) * 2010-06-25 2015-06-24 キヤノン株式会社 Editing device and program
US9043296B2 (en) 2010-07-30 2015-05-26 Microsoft Technology Licensing, Llc System of providing suggestions based on accessible and contextual information
WO2012039723A1 (en) * 2010-09-26 2012-03-29 Hewlett-Packard Development Company Generating variable document templates
JP5230710B2 (en) * 2010-09-29 2013-07-10 株式会社沖データ Image forming system
US20120102386A1 (en) * 2010-10-20 2012-04-26 Microsoft Corporation Customization of Display Templates
US8869026B2 (en) * 2010-10-29 2014-10-21 Konica Minolta Laboratory U.S.A., Inc. Using a layout engine to display an overflowed textbox
US9195637B2 (en) * 2010-11-03 2015-11-24 Microsoft Technology Licensing, Llc Proportional font scaling
US20120131445A1 (en) 2010-11-23 2012-05-24 International Business Machines Corporation Template-based content creation
US8972848B2 (en) 2010-11-23 2015-03-03 International Business Machines Corporation Document renewal and translation
JP2012118832A (en) * 2010-12-02 2012-06-21 Sony Corp Information processor, information processing method and program
CN102567303A (en) * 2010-12-24 2012-07-11 北京大学 Typesetting method and device for variable official document data
US8866842B2 (en) * 2011-05-23 2014-10-21 Adobe Systems Incorporated Adaptive content authoring
US20130127916A1 (en) * 2011-05-23 2013-05-23 Justin Van Slembrouk Adaptive Content Display
US8896896B2 (en) 2011-09-13 2014-11-25 Ricoh Production Print Solutions LLC Preprinted form overlay
US20140013195A1 (en) * 2012-07-06 2014-01-09 Dita Exchange, Inc. Content reference in extensible markup language documents
US8860994B2 (en) 2012-08-10 2014-10-14 Ricoh Production Print Solutions Electronic replacement of pre-printed forms
CN103678264A (en) * 2012-09-05 2014-03-26 奇多比行动软体股份有限公司 Generation method of electronic book of composite layer and hypertext marked language and read program
EP2767901B1 (en) * 2013-02-19 2020-05-20 Quadient Group AG Generating interactive electronic documents
CN104572600A (en) * 2013-10-29 2015-04-29 镇江睿泰信息科技有限公司 Multi-person collaborative document editing operation method
US10467337B2 (en) 2014-10-27 2019-11-05 Kinaxis Inc. Responsive data exploration on small screen devices
US10102310B2 (en) * 2015-05-08 2018-10-16 Siemens Product Lifecycle Management Software Inc. Precise object manipulation system and method
US10104185B1 (en) * 2015-08-10 2018-10-16 Amazon Technologies, Inc. Policy-based container cotenancy
KR101901965B1 (en) * 2017-01-12 2018-09-28 엘에스산전 주식회사 apparatus FOR CREATING SCREEN OF PROJECT
US10509612B2 (en) 2017-08-10 2019-12-17 Td Ameritrade Ip Company, Inc. Three-dimensional information system
US11455762B2 (en) * 2017-12-14 2022-09-27 Adobe Inc. Text border tool and enhanced corner options for background shading
JP2019202452A (en) * 2018-05-22 2019-11-28 東芝テック株式会社 Image forming apparatus
US11481083B2 (en) 2018-09-18 2022-10-25 Figma, Inc. Tool for arranging objects and adjusting spacing in a layout
KR102298752B1 (en) * 2018-10-22 2021-09-07 씨아이씨소프트 주식회사 Method for authoring electronic document, Apparatus for authoring electronic document and Computer program for the same
US10824318B1 (en) * 2018-10-24 2020-11-03 Amdocs Development Limited System, method, and computer program for automatic user interface layout organization
KR20200091728A (en) 2019-01-23 2020-07-31 이승호 Generating Method of PDF Documaent Aided 3D Model and Appraatus of the Same
KR20200091726A (en) 2019-01-23 2020-07-31 이승호 Method for generating 3d model pdf document having page link function and apparatus performing the same
KR20200091727A (en) 2019-01-23 2020-07-31 이승호 Method for generating 3d model pdf document having 3d model control function and apparatus performing the same
JP2021027555A (en) * 2019-08-08 2021-02-22 キヤノン株式会社 Image processing device, control method, and program
US11436404B2 (en) * 2019-09-04 2022-09-06 Adobe Inc. Techniques for automated resizing of text content responsive to layout changes
JP7490472B2 (en) * 2020-07-06 2024-05-27 キヤノン株式会社 Information processing device, information processing method, and program
KR102339812B1 (en) * 2021-05-10 2021-12-15 김보람 System and method of producing prints containing text and images
US11748048B2 (en) * 2021-09-30 2023-09-05 Kyocera Document Solutions Inc. Methods for processing documents for use in variable data printing operations
US11567719B1 (en) * 2021-09-30 2023-01-31 Kyocera Document Solutions Inc. Methods for processing documents for use in variable data printing operations
US11733945B2 (en) * 2021-10-06 2023-08-22 Kyocera Document Solutions Inc. Methods for processing documents using rules in variable data printing operations
CN116704079B (en) * 2023-08-03 2023-09-29 腾讯科技(深圳)有限公司 Image generation method, device, equipment and storage medium

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ334700A (en) 1996-08-20 1999-07-29 Moore Business Forms Inc Proofing system utilizing dynamic pdf technology for the interface for templated printing
US6236463B1 (en) 1997-01-17 2001-05-22 Moore U.S.A., Inc. Generating high speed variable information printed multiple page documents
US6380954B1 (en) 1998-02-09 2002-04-30 Reuters, Ltd. Method and system for layout of objects within a perimeter using constrained interactive search
JP3712320B2 (en) 1998-02-13 2005-11-02 大日本スクリーン製造株式会社 Variable document creation system, variable document output device and variable document creation device
US6826727B1 (en) 1999-11-24 2004-11-30 Bitstream Inc. Apparatus, methods, programming for automatically laying out documents
BR0108067A (en) 2000-02-09 2004-01-06 Moore North America Inc Document imaging with static content and variable data
US6750887B1 (en) 2000-06-02 2004-06-15 Sun Microsystems, Inc. Graphical user interface layout manager
US20030172355A1 (en) * 2002-03-08 2003-09-11 Ponce Rafael Antonio Martinez Customized document production system and method
KR100755914B1 (en) * 2002-11-22 2007-09-06 실버브룩 리서치 피티와이 리미티드 Printed page tag encoder

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101421699A (en) * 2005-12-01 2009-04-29 艾利丹尼森公司 System and method of managing a ticket order
CN101383871B (en) * 2007-09-06 2012-02-22 中兴通讯股份有限公司 Network element configuration implementing method and apparatus
US9324168B2 (en) 2008-01-31 2016-04-26 Microsoft Technology Licensing, Llc Constraint-based correction of shape positions in a diagram
US8930809B2 (en) 2009-06-03 2015-01-06 Canon Kabushiki Kaisha Editing apparatus and layout method, and storage medium
CN101908218A (en) * 2009-06-03 2010-12-08 佳能株式会社 Editing equipment and method for arranging
CN101908218B (en) * 2009-06-03 2013-05-22 佳能株式会社 Editing apparatus and layout method
CN102169434B (en) * 2010-02-25 2016-08-24 微软技术许可有限责任公司 The correction based on constraint of the shaped position in chart
CN102169434A (en) * 2010-02-25 2011-08-31 微软公司 Constraint-based correction of shape and position in chart
CN102736836A (en) * 2011-05-06 2012-10-17 新奥特(北京)视频技术有限公司 Feasibility judgment method for dragging of vertex or side of bounding box of object in scene
CN104714797A (en) * 2013-12-12 2015-06-17 南宁市磁汇科技有限公司 One-button type WEB page closing method
CN104793906A (en) * 2014-01-17 2015-07-22 北大方正集团有限公司 Method and device for achieving intelligent marking
CN104793906B (en) * 2014-01-17 2018-09-28 北大方正集团有限公司 A kind of implementation method and device of smart tags
CN105260351B (en) * 2015-09-10 2018-05-01 武汉改图网技术有限公司 A kind of online self-help design method of printed matter based on adaptive masterplate
CN105260351A (en) * 2015-09-10 2016-01-20 武汉改图网技术有限公司 Online self-service presswork design method based on self-adaptive template
CN105549921A (en) * 2015-12-10 2016-05-04 武汉改图网技术有限公司 Online to offline printing design output system based on cloud service
CN105549921B (en) * 2015-12-10 2019-01-01 武汉改图网技术有限公司 It is a kind of based on the line of cloud service under line printed design output system
CN107918648A (en) * 2017-11-09 2018-04-17 程杰 A kind of foundation of planar design template library and template lookup method
CN107918648B (en) * 2017-11-09 2022-03-25 上海欣兆阳信息科技有限公司 Method for establishing plane design template library and searching template
CN110909506A (en) * 2018-09-10 2020-03-24 北京京东金融科技控股有限公司 Method and device for generating planar design material
CN110633461A (en) * 2019-09-10 2019-12-31 北京百度网讯科技有限公司 Document detection processing method and device, electronic equipment and storage medium
CN110633461B (en) * 2019-09-10 2024-01-16 北京百度网讯科技有限公司 Document detection processing method, device, electronic equipment and storage medium
CN110908647A (en) * 2019-11-29 2020-03-24 苏州精易会信息技术有限公司 Object variable presenting method, device, terminal and storage medium for building block programming
CN110908647B (en) * 2019-11-29 2023-10-27 苏州精易会信息技术有限公司 Building block type programmed object variable presenting method, device, terminal and storage medium
CN112948002A (en) * 2021-03-04 2021-06-11 浪潮云信息技术股份公司 Method for carrying out configuration management on workflow submission page
CN113485703A (en) * 2021-06-21 2021-10-08 上海百秋电子商务有限公司 Online interactive commodity detail page editing method and system

Also Published As

Publication number Publication date
US20050094207A1 (en) 2005-05-05
KR20050036702A (en) 2005-04-20
JP2005122728A (en) 2005-05-12
KR100725889B1 (en) 2007-06-11
EP1524607A2 (en) 2005-04-20
US7548334B2 (en) 2009-06-16
EP1524607A3 (en) 2006-06-21

Similar Documents

Publication Publication Date Title
CN1607522A (en) User interface for creation and editing of variable data documents
CN1607524A (en) Selective preview and proofing of documents or layouts containing variable data
CN1148712C (en) Reading aid
CN1168033C (en) Structure editing device, object content structure management and display method and recording medium
CN1170240C (en) Structural file searching display method and device thereof
CN1205573C (en) Method and apparatus for synchronizing, displaying and manipulating text and image documents
CN1828517A (en) Document processing apparatus and document processing method
CN100351770C (en) Layout adjustment method and apparatus
CN1731397A (en) Template document layout
CN1648846A (en) Document processing apparatus and document processing method
CN100337187C (en) Layout adjustment method, apparatus and program for the same
CN1731399A (en) Information processing apparatus, control method therefor, and program
CN1811691A (en) Information processing apparatus, control method therefor, and program
CN1912825A (en) Information processing apparatus and control method therefor
CN1790338A (en) Layout processing method, layout processing apparatus, and layout processing program
CN1648849A (en) Layout adjustment method and apparatus
CN1828516A (en) Layout control apparatus, layout control method
CN101031873A (en) Data processing device and data processing method
CN1731391A (en) Layout processing method, information processing apparatus, and computer program
CN1581156A (en) Information processing system, method,programe and recording medium
CN101040250A (en) Data processing device and data processing method
CN1009591B (en) Computer editing and composing system and method
CN1794231A (en) Context-free document portions with alternate formats
CN1648894A (en) Document processing device and method
CN1961304A (en) Method and apparatus for interleaving parts of a document

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20050420