|
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 |