|
Filling in forms using WordPerfect
See also "Automating WordPerfect
Templates" in the top section of the Tips
page |
"Filling in a form" takes on different
meanings depending on whether the form is pre-printed,
something you created in a WordPerfect document,
or something created as an Adobe PDF document.
Below you will find the following topics:
- 1. Pre-printed forms
- 2. Forms created as a WordPerfect Document,
using a
- 3. Forms created with Adobe
Acrobat (pdf)
1. Filling
in pre-printed forms
|
A.
Scanner method
If you frequently use a particular form --
and the form is not on special (or required) paper, or it's not
copyrighted -- you can use a scanner to scan the form as a page-size
graphic image into WordPerfect and insert it into a watermark.
Then use a borderless table in the main document as a sort of
"overlay," with all cells locked where you don't want
to enter text. The user then needs only to <Tab> to the
next unlocked "field" and enter text on the form.
The best way to do this is to create a new
template so that users are less likely to modify the original.
Click on File, New from Project (or New in
WP8), Options button, Create WP Template. Then create the watermark
with Insert, Watermark. You can scan the form into the watermark
window (Insert, Graphics, Acquire Image) or, if the file is on
disk, use Insert, Graphics, From File. After the form is inside
the watermark, set the watermark shading to 100% with the button
on the property bar, then close the watermark window (File, Close,
or click the right-hand button on the property bar) to return
to the main template window. Test print the template document
to see if the form prints similarly to the pre-printed form;
if not, adjust the size or position of the form's image in the
watermark.
Next, create a borderless
table as an overlay in the main document window, with all table
cells locked except those that the user must <Tab> to,
to enter information. You could use a copy of your paper form
to draw the table in pencil, then create the table in WordPerfect
to match it. Drag row and column borders, join cells, etc., as
needed. Then right-click the table and select Border/Fill, then
select the Table tab. Set the table default cell lines to <None>
and click Apply or OK. To lock table cells, select the cells
to be locked with your mouse, then right-click and choose Format
from the menu. Under the Cell tab, check the box "Lock cell
to prevent changes," then click Apply or OK. Repeat his
procedure to lock all cells that should be locked.
Finally, go to the Row tab to set row height
(a fixed height may work best), row margins, etc. Don't forget
to set a font type and size for the table. Save the template.
When a new document is opened based on this template it can be
filled out and printed.
The advantage of this method is that it saves
you from using a pre-printed form each time you print, since
you can use ordinary printer paper. This also is a better method
if you tend to run out of pre-printed forms: the "forms"
are now on your computer. And because of this, you can save the
completed form to a convenient folder rather than having to make
a physical copy as you would with a pre-printed form. The main
disadvantages are in the up-front time it takes to set the form
up as a template, and the fact that watermarks are limited to
one page.
[Note: Even though you can create a
multipage watermark, WordPerfect will only display the first
page of a watermark in the main document window. This makes sense,
because watermarks are designed to display on every page of a
document, so only the first page of a watermark will show. This
small problem can be overcome by using one-page watermarks. Create
the first one and close the watermark window. Then enter a hard
page break (with <Ctrl+Enter>) in the main document window
to create a new page, then create the same watermark (A or B)
on the top of that next page with the next page of your form
embedded in it. Then exit the watermark window, enter another
hard page break, create the next watermark, etc. -- repeating
as needed. Each new watermark supercedes the previous one. You
can, of course, alternate Watermark A with Watermark B, but you
will need to discontinue the last watermark used on the next
page to prevent these two flavors of watermark from interfering
with each other.]
Alternatives to this watermark-plus-table
overlay method include (1) scanning the image as above, but using
either prompts (or a macro) to fill in the form by locating bookmarks
set at specific locations in the main document with Format, Typesetting,
Advance, or (2) using the Shadow Cursor to insert material in
the main document. Using prompted templates is discussed in great
detail in "Automating
WordPerfect Templates.PDF," a 400Kb Adobe Acrobat file
which is found inside the author's LETTERHD
file in the Library. For short forms this may be more elegant,
since the user sees a dialog window on screen containing all
the fields used on the form itself. Note that using the Shadow
Cursor means that WordPerfect will use hard returns and tabs
for page positioning, and the method doesn't restrict text to
a given location the way a table cell would. However, it may
be useful for your own personal forms where user training or
correcting text spillover aren't important issues.
Note: Other
methods for filling in scanned forms include using third-party
software with form-fill capabilities, such as ScanSoft's PaperPort or Foxit Reader, a (free)
replacement for Adobe PDF Reader.
Page
Top
B.
FormFill macro method
Download Ron Hirsch's FormFill
macro from the Library here. You first take measurements
from your pre-printed (single-page) form and tell the macro where
to place text (it'll remember these locations). Then load the
pre-printed form in the printer tray, and the macro will print
the text directly on the form as it passes through the printer.
This method may require a small amount of
explanation to new users who wish to set up several new forms,
but it has the advantage of not requiring complex table formatting
-- you need only take a ruler to your paper form, jot down some
measurements, and input them into the macro when asked. The macro
then creates a document on disk (the new "form") that
is used later by the same macro to fill in information it gets
from the user. Its main disadvantage it that if works only with
single-page forms.
Page
Top |
2. Filling in
forms originally created as a WordPerfect document
|
A. Use
a borderless table
As in the scanner method above, you can use
a borderless multi-cell table with locked cells in the main document
window of the template (no watermark image needed). The descriptive
labels or other fixed information on the form are simply placed
inside locked cells as described above, and
the user <Tabs> to areas where the form's text is needed.
If you need an underline under any
text, simply toggle that cell's bottom border "on"
by right-clicking the cell and selecting Borders/Fill; under
the Cell tab, set the cell's bottom line to a suitable line style.
Naturally, all other cell borders typically are set "off"
unless you require them for stylistic reasons. (Also see Method
E, below, which explains how to use single-border
text boxes to produce "underlines.")
Advantages:
As Jim Shackleford says on his Creating
Forms web page, "While table based forms can admittedly
be more difficult to set up than non-table forms, tables have
several advantages:
- Users can simply tab through the fields much
like a data entry form for a database.
- If desired, one can obtain and manipulate
the data entered into the cells or even export a table for importation
into a database or spreadsheet.
- Unlike graphic lines, table and cell lines
will print pretty much the same from printer to printer.
- Text does not "move" when inputting
data in a "fill in the blank" form on the PC, unlike
lines created by repeatedly pressing the underscore character
on the keyboard."
Related items:
- Laura Acklen's Creating
Forms with Tables (a Corel Tutorial)
- Splitting
cells to customize or equalize the
size of certain cells (shows how to split table cells in a particular
row so that the resulting cells are equal in width, which
sometimes doesn't seem possible in a multi-column table with
various column widths)
Page
Top
B. Use
a prompted template to fill in the
form (using bookmarks at specific locations). Using prompted
templates is discussed in great detail in "Automating
WordPerfect Templates.PDF," a 400Kb Adobe Acrobat file
that you can read or download on the Tips page Under the section,
Automating templates
(and which is also found inside the author's LETTERHD
file in the Library).
For short forms this is more elegant than
some other methods, since the user sees a dialog window containing
all the "fields" on the form itself. One drawback:
While the information that you enter in any particular field
in the prompt dialog can be used to insert data in several document
locations (a "one-to-many" operation), you cannot use
"pull-down" or "drop list" menus to choose
from among several names or other items ("many-to-one")
in the prompt dialog. A macro (next item below) can do this,
however.
Page
Top
C.
Use a macro whose dialog(s) collects
the information you need and then inserts it into appropriate
locations in the document.
This is similar to the prompted template method,
but it can be more flexible. The macro can be a standalone macro
to use on any document that has specific text in it, or it can
be a template macro triggered to
play when a "form document" based on that template
is opened.
- A simple example of such a macro and its
associated form was created by Roy ("lemoto") Lewis,
a Corel C_Tech, and is downloadable from his website here
(as FakeForm.zip).
- Another example is shown in Footnote
2, which uses paired bookmarks and text placeholders.
Page
Top
D. Use
a keyboard merge
If you plan to fill in the form in one
sitting, you can set up the form as a "merge form"
with "keyboard stops".
This is a one-choice-to-one-location
type of operation. If you need to enter the same information
in multiple locations, consider using an automated, prompted
template or (in WordPerfect 10 and later versions), text
variables.
[The following applies to WordPerfect 12+
but the process is very similar in earlier versions.]
Creating the form document
Step 1. To set up your form for a keyboard
merge, open the form document, go to Tools, Merge, Form Document
button, Create Form Document. In the Data File Source dialog,
choose "Use file in active window" then click OK. In
the Associate Form and Data dialog that pops up, choose "No
association" and click OK.
[NOTE: You can combine a normal merge of data
from a data source with a keyboard merge. Choose the data file,
address book, etc., that you want to associate with the form.
(In the form file, click the Go to Data button on the Merge Toolbar
to locate the data file you want to use.) Then add normal merge
fields and text in the form document that will be filled by WordPerfect
during the merge. When finished, add the "stop here"
keyboard merge codes as explained in the following paragraphs.]
You'll now have a Merge Bar at the top of
the document. If there's a Merge dialog on screen, click Cancel
on the dialog to dismiss it.
Step 2. To insert the keyboard "stop
here" codes, position your cursor in the document when you
want to insert information and click the Insert Merge Code button
(on the Merge Bar), then choose Keyboard. Enter some text to
prompt you (or the user). It can be a short phrase or several
short sentences (maximum = 127 characters).
For example, type "Enter the client's
name:" and click OK. You will see a merge command appear
in the document at the cursor location that looks like this:
KEYBOARD(Enter
the client's name:)
Repeat step 2, using the Insert Merge Code
> Keyboard buttons to insert KEYBOARD codes at other locations
in the form where you need information to be filled in by the
user.
[NOTE: You can force the screen display to
show only the local text area, and not hundreds of following
characters. This helps you visually locate the area in the document
you are entering data into. See the Help (F1) Index tab, "Merge
commands" or "Merge codes" for the DISPLAYSTOP
code, which provides this option. It can be inserted anywhere
in the document, multiple times, with the Insert Merge Code button's
"More..." option. Typically it is placed after a line
or two of text following a KEYBOARD() command so as to display
the local text area.]
Step 3. Save the document. Note that it will
be given a .FRM filename extension. (When you open it later,
the Merge Bar will be visible, ready for you to perform the keyboard
merge.)
Using the form document
To produce a filled-in copy of the form, you
will do a keyboard merge -- that is, you'll merge the data you
input on your keyboard to the on screen form, ultimately creating
a copy of the form (now filled in) in a separate document.
Option: You
can use a small template macro with a form document set up as
a keyboard merge template to load a new document based
on that template and then (1) display a message to the user;
(2) run the keyboard merge; and (3) display a reminder after
the merge is run. See the Footnote 1 below.
Step 4. Click on Merge on the Merge Bar to
bring up the Merge dialog. The Form document should be set to
"Current Document," the Data Source to "None,"
and the Output to "New Document."
Step 5. Click on Merge in the Merge dialog.
The cursor will move to the first location and a message box
will appear with the user's prompt (instructions to the user
about what to type, etc.). At that point the cursor should be
where it is supposed to be in the document; just type the information
appropriate to that location, and move to the next location.
Pressing <Alt+Enter> or clicking
the Continue button on the Merge Bar will move you from
one keyboard stop (i.e., document location) to the next. If you
don't need to enter anything at a particular keyboard stop, click
the Continue button or the Skip Next Record button on
the Merge Bar, or just press <Alt+Enter>.
Step 6. When you have finished entering data
(or if you click on Stop or Quit) the cursor will move to end
of the new document, which will be a copy of the original with
data filled in -- but without the merge codes. Save the document.
Notes and Tips
- Save as you work.
You can save the document anytime during a keyboard merge. Since
the Output is of the merge is being sent to the new document
currently on screen (not the form document you created in Step
3), the first time you save it you will be asked to give the
document a name: note that WordPerfect automatically assigns
a .WPD filename extension. Continue with the merge, saving as
often as you like.
- Stop vs. Quit.
If you click Stop during the keyboard merge, any remaining text
in the merge form will not appear in the new document. Also,
if you click Quit, the new document will contain remaining
merge codes as well as all text. It probably is better to use
Stop to abort the merge, since this should prevent confusing
the original merge form (with all its merge codes) with the new,
unfinished document.
- Revisions.
If you need to revise your input data, either go back to the
original document and Merge from the keyboard again (creating
a new filled-in document), or simply edit the filled-in document
at the locations that need to be changed. The latter is preferable,
of course, but it depends on how easy it is to find the filled-in
locations on the form.
Page
Top
E. Use
single-border text boxes
This method appears complex, but is really
very easy to do. It requires that you create new, "floating
underlines" with single-border text boxes that are attached
to various paragraphs, instead of using underscores (which can
be "pushed" aside when data is entered) or some other
method of creating underlines (such as graphic lines, which may
fail to move if the form is edited). Here's how:
Put the cursor in the paragraph containing
the fill-in field. Click on Insert, Text Box. When the new box
appears (it will have hatched borders), click anywhere outside
it. Then right-click on it to select the box (eight small drag
handles should appear around the perimeter of the box). In the
context menu that appears at the same time, choose "Wrap,"
choose "Behind text," then click OK. This allows the
fill-in text to appear on top of the box, rather than wrap around
it.
The box should still be selected (if not,
right-click on it and choose "Select Box"). Right-click
on the selected box to bring up the context menu again and choose
"Position." Be sure to set the position to "Paragraph"
so it will move with the paragraph (i.e., with any text ending
with a hard return [HRt]). Click OK.
The box should still be selected, so right-click
on it again and choose "Border/Fill." Under the Border
tab, in "Available border styles," left-click on the
icon with a single bottom border ("Thin bottom" style),
then click OK. You now have a rough underline tool.
Finally, with the box still selected, move
your cursor over it until it turns to a four-headed arrow, then
hold down the left mouse button and drag the box into position
on the page where it is to serve as an underline, then release
the mouse button. (Notice that a thumb-tack appears during the
move to let you know which paragraph the box will be attached
to.) You can move the mouse cursor over the right (or left) edge
of the box until it turns to a two-headed arrow, then left-click-and-drag
the vertical edge to horizontally size the box to your needs.
Now, when you type on the same line as the
box, the words you type will appear over the box, which provides
the underlined "field."
To make more boxes for your form, just pass
the cursor over an existing box, and right-click to select it.
Press <Ctrl+C> to copy the selected box to the Windows
clipboard. Move to another paragraph if desired. Use <Ctrl+V>
to paste the copy into the document (if you haven't moved to
another paragraph, it will appear directly on top of the original),
right-click on it, then left-click-and-drag the copy into the
new position. Repeat to make as many copies as needed, adjusting
the width of each box according to the new location's underline
requirements.
Caveat: If you
print the form on another printer (including faxing it), or print
using another version of WP or Windows, the location of the text
boxes may shift. See here for some
printer problem solutions.
Page
Top |
3. Filling in
forms originally created with Adobe Acrobat (i.e., "PDF"
documents)
|
Here are some tips from the public Corel WP9
newsgroup:
A. (tbritches) "... Open the form
in Adobe Reader. Use the graphics select tool and select the
entire form. In WP, choose Insert|watermark. Paste the graphic.
Make sure shading is set to 100%. Then you can fill the form
in WP. You might have to play with vertical advance or the position
of the graphic to get things to line up properly." [Ed.-
Also see the tips above (under Preprinted Forms) about using
a table or a form-fill macro.]
B. (K.Rodgers) "Some PDF forms
allow you to fill them in from within the Adobe Reader. Have
you tried double clicking into one of the fields? The catch with
filling the form in using Reader is that you can't save the data
you filled in, only print it. Adobe does produce a product [Adobe
Approval, US$39.00] that is in between the free Reader and
the full product [Acrobat]. This allows you to save the filled
in form."
Page
Top |
|
|
Footnote 1
Keyboard merges (see
above): You can include the following template
macro inside a keyboard merge form set up as a
template, associated with the POST NEW trigger.
Then, when you click File, New from Project, and select the template,
a new form document will be loaded and then it will (1) display
a message to the user; (2) run the keyboard merge; and (3) display
a reminder after the merge is run.
For more information about automating templates,
see "Automating WordPerfect
Templates," which includes instructions on inserting
macros into templates, associating them with triggers, using
a separate "loader" macro that can instantly display
the template document, etc.
// Macro code begins - // KBmerge.wcm - Use this as a Template Macro
ONLY
// vHRt inserts a hard return
in the Messageboxes -
vHRt:=NToC(0F90Ah)
Messagebox(vAns;"INSTRUCTIONS";
"When you press OK, you will be able to fill in"+vHRt+
"this form document. Messages will appear at the"+vHRt+
"bottom of the screen to help you with each item."+vHRt+vHRt+
"You can move to the next item with <Alt+Enter>"+vHRt+
"or with the Continue button on the new Merge bar"+vHRt+
"that will appear."+vHRt+vHRt+
"Be sure to print the form when you are finished.";
OKCancel!)
If(vAns=2) // (if Cancel)
Close(No!)
Go(End@)
Endif
PosDocVeryTop
// Store the form document's number -
vFormDoc:=?DocNumber
// Run the merge, output to
a new document -
MergeRun (
FormFileType: Current!;
DataFileType: NoData!;
OutputFileType: ToNewDoc!)
// Store the merged document
number -
vMergedDoc:=?DocNumber
// Switch to the form doc and close it -
SwitchDoc(vFormDoc)
Close(No!)
// Switch back to the merged doc -
SwitchDoc(vMergedDoc)
PosDocTop
Display(On!)
Messagebox(;"REMINDER";
"Be sure to proof-read the document"+vHRt+
"before printing it.")
Label(End@)
Return
Footnote 2
Here is a small macro that first finds (and
stores in an array) every paired bookmark in the document,
then it selects each text placeholder found between the paired
[Bookmark] codes and replaces the placeholder with whatever you
type into a small pop-up dialog. It repeats until all paired
bookmarks have been processed.
IMPORTANT: All
bookmarks must be paired bookmarks, not single-code bookmarks.
This is usually done by selecting the placeholder text
first, then creating the bookmark (enabling the checkbox choice,
"Selected Bookmark"). If there are any single-code
bookmarks, the macro will simply exit when if comes to one of
them. Therefore, be sure to check the Bookmarks dialog (Tools,
Bookmark) for existing Bookmarks before adding your own paired
Bookmarks.
Here's how it works. Suppose your document
has this paired bookmark and text placeholder (shown here in
bold):
[Bookmark]NAME[Bookmark]
The macro will stop at the bookmark, highlight
the "NAME" placeholder, and replace the placeholder's
text with whatever you desire.
You do not need text placeholders (just the
paired bookmarks), but this makes it slightly less confusing
than not having placeholders since the user can see the placeholder
on screen, highlighted and in context.
TIP: During
processing the document, if you want to delete a text placeholder
and not replace it with anything, simply do not enter anything
in the small pop-up dialog. Just press <Enter> to move
to the next paired bookmark and placeholder.
TIP: You can
use the name of the bookmark, not the name of the placeholder,
in the pop-up dialog. In the code below, in the GetString() command,
replace "ArrayT[x]" with Array[x]". In that case,
the text placeholders would not be needed unless you also want
visual cues in the document itself (i.e., the placeholders --
if any -- are normally highlighted by the code below).
NOTE that GetData()
is an obsolete command, but it still works (at least in WPX3).
If you get an error the first time the macro is played or edited,
simply continue with compiling the macro.
// Macro code begins - // Adapted from a post by Kenneth Hobson here:
// http://www.wpuniverse.com/vb/showthread.php?postid=26106#post26106
OnCancel(End@)
BookmarkDelete ("QuickMark") // delete any QuickMark
in the document (a single-code Bookmark)
GetData(vBooknum; Bookmark!; Count!; CurrentDoc!) // find out
how many bookmarks exist
IF(vBooknum>0) // make sure there are some bookmarks
Declare Array[vBooknum]
Declare ArrayT[vBooknum]
PosPageTop()
FORNEXT(x; 1; vBooknum)
GetData(vBookname; Bookmark!; Name!; CurrentDoc!; x) // get name.
Array[x]=vBookname //Assign bookmark narmes to an array.
BookMarkBlock(vBookname)
ArrayT[x]=?SelectedText
SelectOff
ENDFOR
Display(On!)
FORNEXT(x;1;vBooknum)
BookMarkBlock(Array[x])
GetString(Indirect("Var"+x); "Replace: "+ArrayT[x]+NToC(0F90Ah)+NToC(0F90Ah)+"with:
";"Fill in form")
OnError(GoOn@)
Type(Indirect("Var"+x))
Label(GoOn@)
ENDFOR
ELSE
Messagebox(;"Error!";"Cannot find any Bookmarks
in this document!")
ENDIF
Label(End@)
Return |