ghostscript.net convert pdf to image c# : Convert word document to fillable pdf form application software cloud windows html web page class VP5Guide5-part1587

VoodooPad's Scripting API
You may extend VoodooPad using JavaScript, Python, or even in Objective-C using 
loadable bundles written in Cocoa.  Downloadable documentation in the form of a 
header (VPPlugin.h) along with example code is available from 
http://plausible.coop/
static/download/VoodooPad_plugin.zip.
Important Implementation Note: The Python interpreter is global to the VoodooPad 
process, and you should always perform actions on the main thread.  You should 
also take care with global variables, since they will be seen between documents.  If 
you don't know what that means, then don't worry about it.
In comparison, documents will have one or more JavaScript interpreters to use for its 
scripts.  You don't have to worry about global variables setup in one document 
writing over the same global variable in another document.  In addition, don't assume 
that the same interpreter will be used for a document, because it probably won't be.  
For example, 
Web Export might have a different JS interpreter than a PDF Export.  
You can't assume that setting a variable when running a JavaScript plugin or page 
event script will show up when you export your document.
Plausible Labs makes no promises that this will always stay this way.  There are 
obvious advantage to using the same interpreter throughout a document's lifetime.
VoodooPad's Scripting API
51
Convert word document to fillable pdf form - C# PDF Form Data fill-in Library: auto fill-in PDF form data in C#.net, ASP.NET, MVC, WinForms, WPF
Online C# Tutorial to Automatically Fill in Field Data to PDF
create a pdf with fields to fill in; convert pdf into fillable form
Convert word document to fillable pdf form - VB.NET PDF Form Data fill-in library: auto fill-in PDF form data in vb.net, ASP.NET, MVC, WinForms, WPF
VB.NET PDF Form Data fill-in library: auto fill-in PDF form data in vb.net, ASP.NET, MVC, WinForms, WPF
converting pdf to fillable form; create a pdf form to fill out and save
Creating Dynamic Pages With Scriptlets and Expressions
VoodooPad 5 has some new abilities for dynamically changing or adding to pages 
when 
exporting a document as HTML, PDF, or ePub.  Scriptlets are small snippets of 
code written in JavaScript that run when you export your document.  If you are 
familiar with PHP or Java Server Pages, then you'll be right at home.
Scriptlets
A scriptlet is a bit of JavaScript code between 
<% %>
tags.  Scriptlets may contain 
multiple lines, and must conform to JavaScript syntax.  Here is a simple scriptlet that 
prints out the current year:
<%
var year = new Date().getFullYear();
writer.write("The current year is: " + year);
%>
In this example you declare a new variable named "year", and assign it the value of 
the current year.  Observe that there is an object called "writer".  Writer represents the 
output of your page, and when you pass it a string it will add the text to your page.  In 
addition to the write() method, there is also writeln() which appends the text with a 
newline on the end, and writePageWithKey(), which will then append the contents of 
the page name given.
You can also perform loops in a scriptlet:
<%
var i = 1;
while (i <= 5) {
writer.writeln("This is line #" + i + "&lt;/br&gt;");
i++;
}
%>
Which will produce the output:
This is line #1
This is line #2
This is line #3
This is line #4
This is line #5
Expressions
Scriptlets
52
C# Create PDF from OpenOffice to convert odt, odp files to PDF in
Create PDF document from OpenOffice Presentation in both .NET WinForms and ASP.NET using RasterEdge.XDoc.Word; How to Use C#.NET Demo Code to Convert ODT to
create fillable form from pdf; change font pdf fillable form
C# Create PDF Library SDK to convert PDF from other file formats
Best C#.NET component to create searchable PDF document from Microsoft Office Word, Excel and PowerPoint. Create fillable PDF document with fields.
pdf form filler; convert an existing form into a fillable pdf form
The 
<%= %> tag 
is called an Expression.  An expression contains a single 
JavaScript expression which is evaluated and then inserted as a string into the page.  
You can think of it as a single line of code, but without a semicolon at the end.
Here are a some examples of expressions you can use in your page:
The current page is: <%= page.displayName() %>
The name of this document is: <%= document.lastComponentOfFileName() %>
5 + 6 is: <%= 5 + 6 %>
You can also mix scriptlets and expressions together:
<%
var i = 1;
while (i < 5) {
%>
This is line # <%= i %>
<%
i++;
}
%>
Comments
You can write a comment in a page like so:
<%-- This text right here?
It won't be included with the export! --%>
You can use this to write yourself notes in a VoodooPad document, and they will be 
removed when 
exporting.
Scriptlets
53
C# PDF Field Edit Library: insert, delete, update pdf form field
A best C#.NET PDF document SDK library for PDF form field manipulation in Visual A professional PDF form creator supports to create fillable PDF form in C#.NET.
create a fillable pdf form; convert word form to fillable pdf
VB.NET Create PDF from OpenOffice to convert odt, odp files to PDF
VB.NET How-to, VB.NET PDF, VB.NET Word, VB.NET Excel, VB.NET Convert OpenOffice Spreadsheet data to PDF. Export PDF document from OpenOffice Presentation.
convert pdf to form fillable; convert word document to pdf fillable form
Escaped HTML Tags
If you want to write straight HTML in your page, you can do so with the escape tags: 
<%' '%> tags.  For example, if you wanted to make a HTML link to plausible.coop:
<%'<a href="
http://plausible.coop">plausible.coop</a>'%>
Common Code
If you have common methods you would like to use in your scriptlets, you can put 
them all in a page named "
VPJSPrefixScript
".  This is a special page that will be run 
before scriptlets are run.
Context Type and Destination
You can also determine if code in your scriptlet should be run based on if it's going to 
a PDF file, HTML export, or even ePub.  The writer object has two methods that will 
be useful for you: 
writer.destination()
and 
writer.contextType()
 Both 
methods return a string and have the following behaviors:
PDF Export: destination and contextType return "pdf".
Web Export: destination returns "web" and contextType returns "html"
ePub Export: destination returns "epub" and contextType returns "html"
If you have a bit of code that you only want run when 
exporting for the web, you 
would do this:
if (writer.destination() == "web") {
// Fancy code or text here
}
But if you wanted it to be executed for both 
web export and ePub, but not PDF, you 
would do this:
if (writer.contextType() == "html") {
// Fancy code or text here
}
The Writer Class
The examples above have been using a javascript object called "writer".  This is an 
object provided by VoodooPad for assisting in the scripts.  Its public methods are as 
Scriptlets
54
VB.NET Create PDF Library SDK to convert PDF from other file
SharePoint. Best VB.NET component to convert Microsoft Office Word, Excel and PowerPoint to searchable PDF document. Gratis
change font size pdf fillable form; pdf add signature field
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
VB.NET Tutorial for Creating PDF document from MS Office Word. Convert multiple pages Word to fillable and editable PDF documents.
add attachment to pdf form; convert pdf forms to fillable
follows:
writer.write(string);
This the 
write()
method takes a single string, and will output it to whatever context 
is currently available (PDF, HTML, ePub).
writer.writeln(string);
This the 
writeln()
method is similar to the write method, with the exception that it 
will append a newline to the output.
writer.writePageWithKey(pageName);
This the 
writePageWithKey()
method will take the contents of the page name given, 
and print the contents of it to the current context.
writer.startNewPage();
This the 
startNewPage()
method will add a page break to a PDF context.  For other 
contexts it will do nothing.
writer.destination();
This the 
destination()
method lets you know where the current context is outputing 
to.  "epub" is returned if the output is to an ePub, "web" for HTML export, and "pdf" 
for output to PDF files.
writer.contextType();
This the 
contextType()
method will return "html" for both export to web and ePub 
export, and "pdf" for output to PDF files.
Scriptlets
55
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
C# Demo Code to Create PDF Document from Word in C# Program with .NET XDoc.PDF Component. Convert multiple pages Word to fillable and editable PDF
create a fillable pdf form online; convert excel to fillable pdf form
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
C#.NET convert PDF to text, C#.NET convert PDF to images DNN, C#.NET Winforms Document Viewer, C#.NET WPF Document Viewer. How-to, VB.NET PDF, VB.NET Word, VB.NET
convert word to pdf fillable form; acrobat fill in pdf forms
Scriptlet Examples
Showing text on HTML export only
If you'd like for certain content to be shown on HTML export, but not on PDF export, 
you can write a scriptlet like this:
<% if (writer.contextType() == "html") { %>
This rich text will be shown only on HTML export!
<% } %>
Listing the 
aliases for a page
You can grab the 
aliases for a page, and then loop through them like so:
<%
var 
aliases = page.aliasDisplayNames();
for (i = 0; i < 
aliases.count(); i++) {
var name =  
aliases[i]; 
writer.write(name + "<br/>");
}
%>
Scriptlet Examples
56
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#. Description: Convert to PDF/TIFF and save it on the targetType, The target document type will be converted to.
convert word to pdf fillable form online; asp.net fill pdf form
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
multiple pages PowerPoint to fillable and editable doc = new PPTXDocument(inputFilePath); // Convert it to PDF document can be converted from PowerPoint2003 by
convert pdf to fillable form; convert pdf fillable form to word
VoodooPad Events Explained
Events are a way for you to augment VoodooPad when various actions happen.  For 
example there are events when a document is opened, a page is created or closed, 
and when a 
web export starts or finishes.
You can use 
page events to:
• Add extra text to a page when it is created.
• Check in your document to a source control system when it's closed.
• Add extra content to web exports, such as RSS feeds.
• Perform special scripts when certain pages are opened.
There are four special pages you can create in a document which help with these 
tasks:
• VPPageEventScript, where 
page events are written.
• VPDocumentEventScript, where 
document events are written.
• VPWebExportScript, where 
web export events are written.
• VPJSPrefixScript, which is a special page that is loaded before any of the other 
events are run.  You can use this page to put common functions which are used 
for event scripts or 
scriptlets.
These pages don't exist automatically in a document, you'll have to create them first.  
But when you do make them, VoodooPad will fill in the page with a template to get 
things rolling for you.
Global Variables For the Events
Staring in VoodooPad 5.0.2, there is a single global variable that is common to all the 
event scripts, and that is the document object.  It represents an instance of the 
document which is executing the event.  You might notice that some event functions 
are already passed a document object (such as pageWasOpened).  This is the exact 
same object as the global variable.
VoodooPad Events Explained
57
Web Export Events
VPWebExportScript is a special JavaScript page that is executed along with the 
web 
export process.  You can alter the behavior of what happens by implementing a 
couple of JavaScript functions.  Simply create a page named "VPWebExportScript" 
in your document, and VP will autofill the required methods for you in this page.
The methods in this page are webExportWillBegin, 
webExportWillMarkupAttributedStringForItem, webExportWillWriteHTMLForItem, 
webExportDidEnd.  When they are called, it gives you the opportunity to alter how 
pages are exported, by altering the HTML before it is written to disk, or perform 
certain actions based on the page being exported.
Note: The VPWebExportScript script may be executed in a background thread.
The contextDictionary object that is passed to the various events functions is a 
mutable dictionary (specifically, an NSMutableDictionary).  You can put data in there 
to pass to various functions later on.  It also includes the following keys and values:
• "outputDirectoryURL", which is an NSURL object pointing to the location where 
the 
web export is writing to.
• "pagesToExport", which is an NSArray of the page keys being exported.
• "webExportPresetName", is present when there is a 
web export that has been 
selected.  If there isn't a preset being selected, then the key will not be present.
Besides the context dictionary, there is also a global variable named "document" 
which represents your VoodooPad document.
Using Web Export Events to Make an RSS Feed.
Using the 
web export event method, you can make an RSS feed at the same time 
your document is exported.  You can download a working example from here: 
http://
plausible.coop/voodoopad/extras/rsswebexport/, and the source to the 
VPWebExportScript page is available for you to look at below.  It uses a combination 
of JavaScript and Cocoa to get the job done.
var rss = "";
var timeFormat = "%Y.%m.%d %I:%m %p"
var baseURL = "
http://plausible.coop/voodoopad/extras/rsswebexport/";
function webExportWillBegin(contextDictionary) {
Web Export Events
58
rss = rss + "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+ 
"<rss version=\"2.0\"\n" + 
"  xmlns:content=\"
http://purl.org/rss/1.0/modules/content/\"\n" + 
"  xmlns:itunes=\"
http://www.itunes.com/dtds/podcast-1.0.dtd\"\n" + 
"  xmlns:dc=\"
http://purl.org/dc/elements/1.1/\"\n" + 
"  xmlns:atom=\"
http://www.w3.org/2005/Atom\">\n" + 
"  <channel>\n" + 
"    <title>Sample Title</title>\n" + 
"    <link>" + baseURL + "</link>\n" + 
"    <atom:link href=\"" + baseURL + "rss.xml\" rel=\"self\" type=
\"application/rss+xml\" />\n" + 
"    <pubDate>" + formatDateForRSS(NSDate.date()) + "</pubDate>\n" + 
"    <description>Sample Description.</description>\n";
}
function webExportWillMarkupAttributedStringForItem(contextDictionary, 
item, attributedString) {
return attributedString;
}
function webExportWillWriteHTMLForItem(contextDictionary, item, 
fileName, mutableHTMLString) {
rss = rss + "  <item>\n" + 
"    <title>" + escapeForXML(item.displayName()) + "</title>\n" + 
"    <link>" + baseURL + escape(escapeForXML(fileName)) + "</link>\n" + 
"    <description>" + escapeForXML(item.stringData()) + "</description>
\n" +
"    <guid>" + baseURL + escape(escapeForXML(fileName)) + "</guid>\n" + 
"    <pubDate>" + formatDateForRSS(item.createdDate()) + "</pubDate>\n" 
"  </item>\n";
if (item.key().isEqualToString("
index")) {
// let's add the rss link to our 
index page.
var searchRange = NSMakeRange(0, mutableHTMLString.length());
var headAddition = "<link rel=\"alternate\" type=\"application/
rss+xml\" title=\"RSS\" href=\"rss.xml\" />";
mutableHTMLString.replaceOccurrencesOfString_withString_options_range_(
"</head>", headAddition + "\n</head>"0, searchRange);
}
Web Export Events
59
return mutableHTMLString;
}
function webExportDidEnd(contextDictionary) {
rss = rss +  </channel>\n</rss>";
var s = NSString.stringWithString(rss);
var outputDirectoryURL = contextDictionary.outputDirectoryURL;
var urlToSaveTo = 
outputDirectoryURL.URLByAppendingPathComponent_("rss.xml");
s.writeToURL_atomically_encoding_error_(urlToSaveTo, true
NSUTF8StringEncoding, null);
}
function escapeForXML(s) {
s = s.stringByReplacingOccurrencesOfString_withString_("&"
"&amp;");
s = s.stringByReplacingOccurrencesOfString_withString_(">"
"&gt;");
s = s.stringByReplacingOccurrencesOfString_withString_("<"
"&lt;");
return s;
}
function formatDateForRSS(d) {
var df = NSDateFormatter.alloc().init().autorelease();
df.setDateFormat("EE, dd MMM yyyy HH:mm:ss Z");
return df.stringFromDate(NSDate.date());
}
Web Export Events
60
Documents you may be interested
Documents you may be interested