how to open password protected pdf file in c# : Copy pdf text to word with formatting software SDK dll winforms windows wpf web forms HotDocs_Developer_Help_File69-part973

Using HotDocs Scripting 
647 
VAR  
Any variable in the template  
Sometimes a variable needs to be asked by itself. You can use the ASK VAR instruction 
so that during the interview, HotDocs displays the variable in its own default dialog. 
In the following example, an IF expression evaluates if more than a year has passed since 
the last time the client assembled this document. If so, the Insurance Company Name 
variable is asked: 
IF MONTHS FROM( Date Of Previous Filing , TODAY ) >= 13 
ASK Insurance Company Name 
END IF
You can insert the ASK VAR instruction directly in the template or you can use it in a 
Computation variable. Be aware, however, that if you insert the instruction directly in the 
template, you can ask only one variable, and any answers the user provides will not be 
merged into the document at that place.  
ASSEMBLE "FILENAME" 
Placeholder  
Replace With  
FILENAME  
The name of another HotDocs template  
Complete instructions on using the ASSEMBLE instruction can be found in the 
topic, Start a New Assembly From a Template.  
You can use the ASSEMBLE instruction to add templates to the assembly queue. Unlike 
the INSERT instruction, an ASSEMBLE instruction waits until the current document is 
assembled before starting the next assembly session. 
For example, you may or may not need to include a cover letter with the document you 
are assembling. If you do, the following script adds the template, Cover Letter, to the 
assembly queue. 
«IF Cover Letter Required» 
«ASSEMBLE "Cover Letter.docx"» 
«END IF»
In this script, if the user opts to assemble a cover letter, then the ASSEMBLE instruction is 
processed and HotDocs assembles the cover letter template after the main document is 
assembled.  
Understand How Templates Are Added to the Assembly Queue 
To achieve the best results when using the ASSEMBLE instruction, you should 
understand how HotDocs adds the templates it finds in ASSEMBLE instructions to the 
Copy pdf text to word with formatting - extract text content from PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Feel Free to Extract Text from PDF Page, Page Region or the Whole PDF File
extract text from scanned pdf; copy pdf text to word
Copy pdf text to word with formatting - VB.NET PDF Text Extract Library: extract text content from PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
How to Extract Text from PDF with VB.NET Sample Codes in .NET Application
copy text from pdf to word; c# extract text from pdf
HotDocs Developer Help File 
648 
assembly queue—particularly if your template uses a custom interview. There are two 
different scripts that HotDocs processes during an assembly: 
The template script is the body of the template where HotDocs merges the 
answers to produce the assembled document. 
The interview  script is the set of instructions that determine what dialogs to include 
in the interview. If your template uses a custom interview, this is your custom 
interview computation (e.g., INTERVIEW). Otherwise, the interview script is the 
same as the template script for a default interview. 
Each time HotDocs processes one of these scripts, it first removes from the Assembly 
Queue any templates that were added by ASSEMBLE instructions in the current template. 
Then, as HotDocs encounters each ASSEMBLE instruction, it adds that template to the 
assembly queue. Thus, if you have an ASSEMBLE instruction in your custom interview 
script, the template in that instruction will be added to the assembly queue whenever 
HotDocs processes your interview script. 
This behavior can cause a problem if the ASSEMBLE instructions in your interview script 
do not match the instructions in the template script. For example, if HotDocs adds 
templates to the assembly queue while processing the interview script, those templates 
could be removed when HotDocs subsequently processes the template script. Likewise, if 
your template script adds templates to the assembly queue, they could be removed when 
the interview script is processed. 
To ensure that templates are added to, and remain in, the assembly queue, you should 
include identical ASSEMBLE instructions in both your interview and template scripts. This 
way, no matter which script HotDocs processes last, it will put the desired templates in the 
assembly queue. (As noted above, both scripts are identical if you use a default interview, 
so this information is only important when you use a custom interview in your template.) 
You can add command-line options to an ASSEMBLE instruction (for example, 
ASSEMBLE "subpoena.docx /pr"
). If the command-line option includes a file 
path and name, enclose the path and name in double quotation marks (for 
example, 
ASSEMBLE "subpoena.docx /sa /af=""L Chang.anx"""
). (Four 
command line options were designed specifically for use with ASSEMBLE 
instructions. They are: Suggest SaveSuggest Save NewSave Answers, and 
Save Answers Prompt. They control the saving of answers after each ASSEMBLE 
instruction is processed.)  
CONCEAL VAR 
Placeholder  
Replace With  
VAR  
A variable used in an answer source  
This instruction, which you use in a dialog script, keeps variables from appearing in the 
Select From Answer Source dialog box of an answer source. 
C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net
file formats using Visual C# code, such as, PDF to HTML converter assembly, PDF to Word converter assembly C#.NET DLLs: Use PDF to Text Converter Control in
extract text from pdf open source; delete text from pdf online
VB.NET PDF Convert to Word SDK: Convert PDF to Word library in vb.
application. In addition, texts, pictures and font formatting of source PDF file are accurately retained in converted Word document file.
copy and paste text from pdf to word; export text from pdf
Using HotDocs Scripting 
649 
Answer sources are associated with specific dialogs in a template. When users view the 
dialog during the interview, they can click a special button, which displays a list of answers 
that were entered during previous interview sessions. They can either select an existing 
set of answers or add a new set to the list. 
After creating an answer source for one dialog, you can use it with other dialogs, including 
dialogs in other templates. However, when using an answer source with multiple dialogs, 
each variable must be represented in both the answer source and in each dialog. If a 
variable that is referenced in the answer source isn’t included in the dialog (or vice-versa), 
answers in the answer source will get “mixed together” whenever you add, edit, or delete 
records. 
In some situations though, it isn’t always practical or relevant to show the user every 
variable—either in the dialog or in the answer source. To accommodate this, you can use 
the HIDE, CONCEAL, and OMIT instructions to manipulate these variables in both the 
dialog and the answer source. Specifically, HIDE keeps a variable from appearing on the 
dialog, while CONCEAL keeps it from appearing in the answer source. OMIT keeps it from 
being associated with the answer source at all. Often, you must use a combination of 
these instructions to achieve your desired result. 
For example, in one template, the user must enter both a Creditor Name and a Creditor 
Address. However, in a second template that uses the same dialog and answer source, 
Creditor Address isn't needed. You can keep it from appearing in the Select From 
Answer Source dialog box for this template by using the following script: 
CONCEAL Creditor Address 
Answers for Creditor Address are still saved in the answer source, even though they do 
not appear when the user opens the Select From Answer Source dialog box. (You 
would most likely include the instruction HIDE Creditor Address in this script as well, 
which would keep Creditor Address from appearing on the actual interview dialog. To 
keep the variable from appearing when the user edits a record in the answer source, see 
OMIT VAR.) 
See Suggest an Answer Source for Dialogs for more information. 
DEBUG 
This instruction steps through the template or script field by field or line by line. It helps 
you determine why the template you are automating (or the script you are writing) is 
producing results you don't expect. 
For full information on how to use this instruction, please see the following topics: 
Introduction: Debugging Templates 
Insert Debugging Instructions in Templates and Scripts 
Step Through a Template or Script 
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
A convenient C#.NET control able to turn all Word text and image content into high quality PDF without losing formatting. Convert
extract text from pdf file; export text from pdf to word
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Insert Image to PDF. Image: Remove Image from PDF Page. Image: Copy, Paste, Cut Export all Word text and image content into high quality PDF without losing
copy text from pdf online; extract text from pdf java
HotDocs Developer Help File 
650 
DEFAULT VAR TO VALUE 
Placeholder  
Replace With  
VAR  
Any type of variable in the template  
VALUE  
A value that corresponds with the variable 
type  
This instruction suggests a value for a variable if the variable is unanswered. 
For example, in the following script, the variable Attorney Name is defaulted to the literal 
value of Sam Jones: 
DEFAULT Attorney Name TO "Sam Jones"
In this example, when HotDocs processes this script, it first determines whether Attorney 
Name has been answered. If it has, the DEFAULT instruction has no effect and HotDocs 
uses the answer already given. If Attorney Name has not been answered, however, 
HotDocs suggests the answer Sam Jones. When this variable appears during the 
interview, users can accept this answer by moving to the next dialog, or they can enter a 
different answer in the answer field. 
You can also use a DEFAULT instruction to suggest an answer that has already been 
given in the interview. For example: 
DEFAULT Trustee Name TO Client Name 
In this example, when HotDocs processes this script, it first determines whether Trustee 
Name has been answered. If it has, the DEFAULT instruction has no effect and HotDocs 
uses the answer already given. If Trustee Name has not been answered, HotDocs then 
checks to see what answer has been given for Client Name and suggests that as the 
answer. It is important to note, however, that if Client Name is unanswered, Trustee Name 
will likewise be unanswered.  
Do not use the DEFAULT instruction in the script of a repeating dialog unless the 
instruction is used in conjunction with a conditional expression (on another 
variable in the same dialog, at the same REPEAT index) or a LIMIT instruction. If 
you use it by itself in a repeated dialog script, it will always add an unanswered 
dialog to the interview, which will produce an incorrectly assembled document.  
The DEFAULT and SET instructions both assign answers to variables. Click here 
for an explanation of the differences between the two. 
To default two or more options for a Multiple Choice variable, separate each option 
with a vertical bar (for example, 
DEFAULT MC Variable TO 
"Option1|Option2|Option3"
). 
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
pages edit, C#.NET PDF pages extract, copy, paste, C# NET rotate PDF pages, C#.NET search text in PDF all Excel spreadsheet into high quality PDF without losing
copy pdf text to word document; extract text from pdf to word
C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net
file. Besides, the converted HTML webpage will have original formatting and interrelation of text and graphical elements of the PDF.
get text from pdf file c#; extract text from pdf to excel
Using HotDocs Scripting 
651 
ERASE VAR; ERASE DIALOG 
Placeholder  
Replace With  
VAR  
The name of a variable in a dialog you want to clear  
DIALOG  
The name of the dialog whose contents you want to clear  
The ERASE instructions let you clear answers in a dialog. Specifically, ERASE VAR 
clears answers for a specified variable in a dialog, while ERASE DIALOG clears all 
answers in the dialog. This may be useful when you are using a temporary dialog to store 
lists of answers from two or more dialogs. 
For example, say you have two repeated dialogs—one containing plaintiff names and 
another containing defendant names. If you need to generate a single list of all parties in 
the case, you can combine the two lists into a single repeated dialog. To do this, you 
would want to erase any existing values from the combined list before populating it with 
the names from the plaintiff and defendant dialogs. 
Using the ERASE instruction in the script keeps the combined list up to date each time the 
computation script is processed. For example, if the user adds or removes names in the 
plaintiff or defendant dialogs during the interview, the ERASE instruction will make sure 
they are properly added or removed when the combined list is regenerated. 
The following script demonstrates how to accomplish this: 
ERASE Combined List 
SET Counter TO 0 
REPEAT Plaintiff Information 
INCREMENT Counter 
SET Combined Name[Counter] TO Plaintiff Name 
END REPEAT 
REPEAT Defendant Information 
INCREMENT Counter 
SET Combined Name[Counter] TO Defendant Name 
END REPEAT
FILTER COMPUTATION_VAR 
Placeholder  
Replace With  
COMPUTATION_VAR  
Any Computation variable in the template that results in a true 
or false value  
The FILTER instruction filters out certain entries from a repeated list, based on conditions 
you specify. 
C# Create PDF from Excel Library to convert xlsx, xls to PDF in C#
C#.NET PDF SDK- Create PDF from Word in Visual C#. Turn all Excel spreadsheet into high quality PDF without losing formatting.
a pdf text extractor; extract formatted text from pdf
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Excellent .NET control for turning all PowerPoint presentation into high quality PDF without losing formatting in C#.NET Class. Convert
delete text from pdf; copy and paste text from pdf
HotDocs Developer Help File 
652 
In the following example, the script filters out all corporate entities from a list of vendors: 
"" 
REPEAT Vendor Information 
FORMAT "A, B, and C" 
FILTER No Corporate Vendors 
RESULT + Vendor Name 
END REPEAT
In the preceding script, No Corporate Vendors is a Computation variable with the following 
script:  
Vendor Type != "Corporation" 
First, the empty quotation marks set the value of the repeat to "nothing." HotDocs then 
repeats the Vendor Information DI dialog. After the user enters all the information, 
HotDocs processes the responses, filters out all corporate entities, and displays a 
modified list in the specified format.  
You can use the AND operator in the computation to filter out entries based on two 
or more conditions. 
A filter can be as complicated as it needs to be, but it must result in either true or 
false. For example, the expression 
YEARS FROM( Child's Birth Date, TODAY 
)
produces a number (the age of a person), not a true or false value—it is not a 
filter. But the expression YEARS FROM(
Child's Birth Date, TODAY ) <= 17
can only result in true or false. It can correctly filter all children under the age of 18 
from a list. 
FORMAT "LIST_FORMAT" 
Placeholder  
Replace With  
LIST_FORMAT  An example of the conjunction and punctuation desired, for example, a, 
b, and c or a; b; or c 
.  
The FORMAT "LIST_FORMAT" instruction allows you to create a sentence-style list 
within a computation. (If you create the REPEAT instruction using a REPEAT field, you 
can specify the list format by choosing a style from the Format drop-down list. See 
Punctuate a Sentence-Style List.) 
For example, perhaps you want the items in your list to appear with the final comma 
preceding the and. Your script would look like this: 
"" REPEAT Education Information 
FORMAT "A, B, and C" 
RESULT + Degree Designation 
END REPEAT 
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
Remove Image from PDF Page. Image: Copy, Paste, Cut PDF, VB.NET convert PDF to text, VB.NET all PowerPoint presentation into high quality PDF without losing
copy and paste text from pdf to excel; copying text from pdf to excel
VB.NET Word: Extract Text from Microsoft Word Document in VB.NET
time and effort compared with traditional copy and paste VB.NET. Apart from extracting text from Word powerful & profession imaging controls, PDF document, tiff
.net extract text from pdf; copy text from scanned pdf to word
Using HotDocs Scripting 
653 
RESULT
Once a user has provided the list of educational degrees in Education Information, the 
FORMAT instruction ensures that the requisite commas are in place.  
FORMAT instructions should be placed immediately after the REPEAT instructions 
for repeated dialogs, and before other instructions influencing the REPEAT (such 
as FILTER or ASCEND and DESCEND.  
GRAY ALL; GRAY VAR; UNGRAY ALL; UNGRAY VAR 
Placeholder  
Replace With  
VAR 
Any variable used in a dialog  
These instructions, which are used in a dialog script, control whether components in a 
dialog appear grayed or ungrayed, depending on answers a user enters. GRAY ALL dims 
all components in the dialog, while UNGRAY ALL makes all of the components active 
again. Likewise, GRAY VAR dims a single component, and UNGRAY VAR enables the 
component again. 
For example, say you want certain variables in a dialog to appear based on the user's 
family situation. How the user answers the Multiple Choice variable, Family Status, 
controls which questions are asked: 
GRAY ALL 
UNGRAY Family Status 
IF Family Status = "Married, with children" 
UNGRAY ALL 
ELSE IF Family Status = "Married, no children" 
UNGRAY Spouse Name 
ELSE IF Family Status = "Separated, with children" 
UNGRAY Number Of Children 
END IF 
The initial GRAY ALL instruction dims all variables in the dialog, making them inactive. 
Then the Family Status Multiple Choice variable is immediately ungrayed so the user can 
choose an option. Depending on the answer to this Multiple Choice variable, some or all 
of the other variables are ungrayed.  
In the script above, you could also gray each variable in the dialog (except the 
Multiple Choice variable); however, graying all of the variables and then ungraying 
the Multiple Choice variable immediately after saves a lot of repetitive typing.  
HIDE ALL; HIDE VAR; SHOW ALL; SHOW VAR 
HotDocs Developer Help File 
654 
Placeholder  
Replace With  
VAR 
A variable used in an answer source  
These instructions, which are used in a dialog script, control whether the user is able to 
see variables in a dialog. The HIDE ALL instruction hides all variables in the dialog, while 
SHOW ALL reveals the variables again. Likewise, HIDE VAR hides a single variable, and 
SHOW VAR reveals the variable. 
In the following example, a certain estate planning template may be used for both wills 
and trusts. The initial dialog uses a Multiple Choice variable called Document Type to ask 
which type of document will be assembled. Then, depending on how the user answers the 
variable, HotDocs asks either the executor/testator names or the trustee/grantor names: 
HIDE ALL 
SHOW Document Type 
IF Document Type = "Will" 
SHOW Executor Name 
SHOW Testator Name 
ELSE IF Document Type = "Trust" 
SHOW Trustee Name 
SHOW Grantor Name 
END IF
You should not HIDE or SHOW a variable in a repeated-as-spreadsheet dialog 
based on another variable in the same dialog. When you use HIDE or SHOW in a 
spreadsheet dialog, the entire column is shown or hidden. Attempting to do this 
may produce unexpected results.  
IF EXPRESSION; ELSE IF; ELSE; END IF 
Placeholder  
Replace With  
EXPRESSION  A statement that can be evaluated as true or false   
You can make sections of templates or scripts conditional by using IF instructions. A 
conditional section will be included only if a condition you specify is true. The ELSE IF 
instruction allows two or more conditions to be included in an IF instruction. The ELSE 
instruction establishes a final condition for an IF instruction, specifying that if all preceding 
conditions are false, the following information should be included. It must be the last item 
of the IF instruction. 
Each IF instruction or expression must end with an END IF instruction. This instruction 
completes a section of conditional logic. HotDocs automatically creates an END IF paired 
with each IF instruction. These pairs can be nested, allowing you to test several conditions 
before applying a single effect. 
For example, in the following script, HotDocs uses an IF instruction to insert a paragraph 
about vacation time—but only if the new employee qualifies for paid vacation: 
Using HotDocs Scripting 
655 
«IF Vacation Days»In addition, «Employee Name» shall be allowed 
«Number of Vacation Days:ten» for vacation time. 
«Employee Name» shall also receive seven paid holidays, including 
New Year's Day, Memorial Day, Fourth of July, Labor Day, 
Thanksgiving (including the day after), and Christmas.«END IF»
More complex situations can also be handled using IF expressions. For example, in the 
following computation script, a single paragraph in a template may change depending on 
how close a project is to completion. Using the IF, ELSE IF, and ELSE instructions, the 
correct paragraph can be inserted:  
IF Project Status = "Complete" 
"Upon finishing the project…" 
ELSE IF Project Status = "In Process" 
"While working on the project…" 
ELSE 
"Before working on the project…" 
END IF
You can use IF expressions anywhere. Operators such as AND and OR can link 
multiple conditions, giving the user greater control over the interview. However, 
creating complicated IF instructions directly in the template can make the 
assembly process sluggish. Consider using Computation variables or INSERT 
instructions instead. 
Please see Introduction: Make Parts of Templates Conditiona l for further 
information on using IF instructions and expressions. 
INCREMENT NUM_VAR; DECREMENT NUM_VAR 
Placeholder  
Replace With  
NUM_VAR  A Number variable  
The INCREMENT and DECREMENT instructions cause HotDocs to increase or decrease 
a number variable, usually a counter, by the value of 1
In the following example, you want to create a list of potential employees. However, you 
want the list to include only those applicants with four or more years of schooling. To do 
this, you would use the WHILE instruction to loop through a list of applicants. You would 
then use the INCREMENT instruction to keep track of which repetition you are on so that 
the correct information can be merged into a new list. 
SET Applicant Count TO 1 
SET Prospect Count TO 0 
WHILE ANSWERED( Applicant Name[Applicant Count] ) 
IF Applicant Years of Schooling[Applicant Count] >= 4 
INCREMENT Prospect Count 
HotDocs Developer Help File 
656 
SET Prospect Name[Prospect Count] TO Applicant 
Name[Applicant Count] 
END IF 
INCREMENT Applicant Count 
END WHILE
INSERT "FILENAME" 
Placeholder  
Replace With  
FILENAME  The file name and folder path of another HotDocs template  
Include the folder path if the inserted template resides in a folder that is 
different from the main template.  
This instruction inserts a clause, a clause library, or a template into the document 
currently being assembled. When HotDocs encounters an INSERT instruction, it 
immediately processes the instruction and inserts the template, clause, or clause library 
into the current document. If there are variables to be answered, HotDocs presents them 
before finishing the interview of the main document. 
To create a simple INSERT instruction, you can click the 
INSERT Field button and 
insert the instruction directly in the template. However, if you want to insert a more 
complex instruction using conditional logic, you may need to use a Computation variable. 
Often an organization’s documents will include sections that are used frequently, such as 
company letterhead or attorney information blocks. Rather than recreate these parts of a 
document each time you automate a template, you can save just the letterhead or the 
information block as its own template and then use an INSERT instruction to include it in 
the templates that require it. For example, let's say you have a specific attorney 
information block you use in pleadings. You would create a template that contains only the 
attorney information and then use the INSERT instruction to insert it: 
«IF Attorney Information Required» 
«INSERT "Attorney Information Block.docx"» 
«END IF»
In text templates, if the inserted template contains unanswered variables, HotDocs asks 
these variables. After the inserted template is assembled, HotDocs finishes assembling 
the main template. In contrast, with form templates, HotDocs appends the inserted form 
template to the main form. Once it finishes assembling the main form, it then assembles 
the inserted form template.  
For detailed information on inserting templates, see Introduction: Insert Templates 
into Templates
Templates can be inserted from any location, as long as you specify the correct 
folder path information. (See Inserted Template File Locations for examples.) 
Documents you may be interested
Documents you may be interested