free pdf library for .net c# : Extract data from pdf file SDK Library service wpf asp.net html dnn powerjobs2015_manual5-part2017

$file = PrepareEnvironmentForFile "Catch Assembly.iam"
$from = "powerjobs@yourdomain.com" #Required
$to = "user@targetdomain.com" #Required
$subject = "The document $($file.EntityName) has been processed" #Required
$body = "Write here your email text and use variables to add additional information"
#Optional
$smtp = "yourSMTPServer"
$passwd = ConvertTo-SecureString -AsPlainText "YourPassword" -Force
$cred = new-object Management.Automation.PSCredential $from, $passwd
$sendattatchment = $true
if($sendattatchment -eq $true){
Send-MailMessage -To $to -From $from -Subject $subject -Body $body -SmtpServer
$smtp -Credential $cred -Attachments "C:\TEMP\$($file.EntityName)"
}
else{
Send-MailMessage -To $to -From $from -Subject $subject -Body $body -SmtpServer
$smtp -Credential $cred
}
Get address from a vault property
In case you like to send the email to persons in a more dynamic way, and let's suppose that you have the email address of the person stored in a
user defined property, here are some more rows that might help you to retrieve the email address.
So, the first line pulls all the property definitions from Vault. The second filters all the property definitions for the one property you are looking for,
so change the "SendTo" string to the name of the property you are looking for. The third line pulls the value for our file for the specified property.
And finally the last line just stores the value from the first property into the variable $emailTo, which you can now use with your
Send-MailMessage command.
$file.SendTo
Send notification via email
Extract data from pdf file - extract form data from PDF in C#.net, ASP.NET, MVC, Ajax, WPF
Help to Read and Extract Field Data from PDF with a Convenient C# Solution
collect data from pdf forms; extract data out of pdf file
Extract data from pdf file - VB.NET PDF Form Data Read library: extract form data from PDF in vb.net, ASP.NET, MVC, Ajax, WPF
Convenient VB.NET Solution to Read and Extract Field Data from PDF
export excel to pdf form; exporting pdf form to excel
1.  
2.  
3.  
$file = PrepareEnvironmentForFile "Catch Assembly.idw"
$vaultname = $vaultConnection.Vault
$vaultserver = $vaultConnection.Server
$folderpath = $file.path.replace("$","%24").replace("/","%2f")
$fullPath = $folderpath + "%2f" + $file.Name.Replace(" ","+")
$link =
"http://$($vaultserver)/AutodeskDM/Services/EntityDataCommandRequest.aspx?Vault=$($vau
ltname)&ObjectId="+$fullPath+"&ObjectType=File&Command=Select"
$lfcTransId = $powerJobs.Job.Params["LifeCycleTransitionId"]
$lfcTrans =
$vault.DocumentServiceExtensions.GetLifeCycleStateTransitionsByIds(@($lfcTransId))
$lfcs =
$vault.DocumentServiceExtensions.GetLifeCycleStatesByIds(@($lfcTrans[0].FromId,
$lfcTrans[0].ToId))
$oldstate = $lfcs[0].DispName
$newstate = $lfcs[1].DispName
$from = "jobserver@yourcompany.com"
$to = "receiver@yourcompany.com"
$receivername = "receiver"
$subject = "The file $($file.Name) has changed from $oldState to $newState"
$body = "Dear $($receivername), if you like to view the related document, just follow
this link: $link"
$smtp = "yourSMTPServer"
$passwd = ConvertTo-SecureString -AsPlainText "YourPassword" -Force
$cred = new-object Management.Automation.PSCredential $from, $passwd
Send-MailMessage -From $from -To $to -Subject $subject -Body $body -SmtpServer $smtp
Preparing your environment
Before you can begin to create your own jobs you have to prepare your developement environment.
Choose a IDE and install it if needed. (powershell IDEs)
Open your IDE by using the shortcut in startmenu/coolorange/powerJobs/Tools and create a new file
Execute 
to get access to your desired vault.
Open-VaultConnection
IDEs for powershell
PowerGUI
Powershell 2.0 ISE
I want to manually configure my powerShell processes to debug powerJobs scripts
By default powerJobs comes with two IDE's that are installed on each Windows machine: 
and 
. Please
powershell.exe
powershell_ise.exe
use this shortcuts to start your IDE for debugging e.g. powerJobs scripts.
You can add 
in the prepare PrepareEnvironmentForFile method in line 24. So you will get a vault
Open-VaultConnection
connection every time you run PrepareEnvironmentForFile from your ide and don't have to add it to every script
If you have a 64 bit Vault client installed, you have to use a 64 bit IDE. If you have 32 bit Vault client installed, you have to use a 32
bit IDE.
C# PDF Text Extract Library: extract text content from PDF file in
Able to extract and get all and partial text content from PDF file. How to C#: Extract Text Content from PDF File. Add necessary references:
sign pdf form reader; extract pdf form data to excel
VB.NET PDF Text Extract Library: extract text content from PDF
Extract and get partial and all text content from PDF file. Extract highlighted text out of PDF document. Extract Text Content from PDF File in VB.NET.
pdf data extraction; extracting data from pdf forms
You will find the targeting batch-files in the powerJobs installation directory 'C:\Program Files\coolOrange\powerJobs 2015\Tools'.
Starting the powerShell process with this batch files has some advantages:
your powerShell process is allowed to run the .Net 4 runtime environment
all your powerJobs modules and powerVault is automatically loaded
if you are using powershell.exe (the host without UI), the 
is fixed automatically
VDF deadlock bug
This means you powerShell environment will not be changed, but if you run one of the shortcuts, the process is allready setup to debug
powerJobs scripts or play with powerVault cmdlets!
There are several IDEs for powershell available. Of course you can use whichever you like. We present the following two, because they are
free of charge.
PowerGUI
Another powershell development environment is PowerGUI. It is also free and you can download it from 
.
http://www.powergui.org
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
External cross references. Private data of other applications. Flatten visible layers. VB.NET Demo Code to Optimize An Exist PDF File in Visual C#.NET Project.
how to make pdf editable form reader; how to save a filled out pdf form in reader
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
Microsoft Office Word, Excel and PowerPoint data to PDF form. Merge PDF with byte array, fields. Merge PDF without size limitation. Append one PDF file to the end
export pdf form data to excel; extracting data from pdf into excel
Powershell 2.0 ISE
With PowerShell 2.0 you get a free development environment, called PowerShell ISE.
I want to manually configure my powerShell processes to debug powerJobs
scripts
This is possible and you have to just follow the following steps. By using the shortcuts, all these steps are done automatically for you.
Enable powerShell execution
Open a powerShell session and execute this line of code:
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
Merge Microsoft Office Word, Excel and PowerPoint data to PDF form. Append one PDF file to the end of another and save to a single PDF file.
export excel to pdf form; extract data from pdf file to excel
C# PDF File Compress Library: Compress reduce PDF size in C#.net
All object data. File attachment. External cross references. Private data of other applications. Flatten visible layers. C#.NET DLLs: Compress PDF Document.
extract data from pdf form; extract pdf form data to excel
Set-ExecutionPolicy RemoteSigned
By default the value is set to Restriced, therefore script execution is disabled on the machine.
Support for .net 4
Out of the box, the powershell ISE, the powershell.exe and the powerGUI that are targeting powerShell version 2, are configured to use the
.net 2.0 runtime. However, to run and debug scripts for powerJobs the processes must be configured to use the .net 4 runtime.
A common solution is to provide a config file for the executable. Just create a textfile named powershell_ise.exe.config and paste the
following lines into it:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0.30319" />
</startup>
</configuration>
Then save and copy the file besides the powershell_ise.exe.
Import powerVault
Run the following line of code and powerVault will be loaded into your powerShell session:
Import-Module powerVault
Adding a new IDE
Adding a new IDE to the powerJobs default powerShell IDE's is very simple.
Just click execute the "Add new IDE" shortcut in the Tools directory or run the file 'C:\Program Files\coolOrange\powerJobs
2015\Tools\Add_new_IDE.ps1'.
If your user has not enought rights to create files in the powerJobs installation directory under Tools, please run 'Add new IDE' as
Administrator!
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
By using RsterEdge XDoc PDF SDK for .NET, VB.NET users are able to extract image from PDF page or file and specified region on PDF page, then get image
extracting data from pdf forms; vb extract data from pdf
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Page, a Region on a Page, and PDF Document. C#.NET extract image from multiple page adobe PDF file library for Visual Studio .NET.
pdf data extraction; how to extract data from pdf file using java
A powerShell process will start and aks you for the location of your powerShell executable.
user will enter this path: C:\Program Files (x86)\PowerGUI\ScriptEditor.exe
powerGUI
Press enter and wait for completion.
Now you will find a new shortcut called ScriptEditor in your start menu where the other shortcuts are located.
A new batch-file will be created in the Tools directory called ScriptEditor.bat and for the executable you can find an Activation-config-file here:
C:\Program Files\coolOrange\powerJobs 2015\Tools\ActivationConfigFiles\ScriptEditor.exe.ACTIVATION_CONFIG
Powershell, scripts and modules
Powershell
Windows PowerShell® is a task-based command-line shell and scripting language designed especially for system administration. Built on the
.NET Framework, Windows PowerShell helps IT professionals and power users control and automate the administration of the Windows
operating system and applications that run on Windows.
Source: Microsoft TechNet
Scripts
A script is a list of commands which are executed by a scripting engine. Contrary to normal source code scripts don't require to be compiled. The
engine will interpret them and do the rest. This allows for an easy and flexible workflow, even if you have no programming skills.
Scripts have the file extension 
ps1.
Modules
PowerShell modules provide an efficient, manageable and production-oriented way to package code.
E.g. In one job you create a function  for sending e-mails with a PDF attachment, but you don't want to copy this function every time you need it in
a new job. Instead you can save the function in a module and import it every time you need the function. Modules are very similar to classes in
object oriented programming languages.
Modules have the file extension 
.
psm1
Structure of a powerJobs script
More information and learning resources can be found on microsoft TechNet Getting Started with Windows PowerShell
Preperation
Execution
PowerJobs scripts consists of two parts. The preperation and the execution of the script.
Preperation
With the comand 
you can prepare your debug environment. It grants access to the objects 
"PrepareEnvironment"
"$vault" "$vaultConnec
and 
.
tion" "$vaultExplorerUtil"
"$powerJobs"
PrepareEnvironment
On the top of script a 
should be established.
vaultconnection 
Open-VaultConnection
"PrepareEnvironmentForFile" returns a powerJobs file object of the latest iteration of your file. If the job is executed in the jobprocessor, the
file is taken from the 
parameter. If it's executed in debug mode, the file will be searched by the filename passed to the
"$powerJobs.Job"
function.
$file = PrepareEnvironmentForFile "Catch Assembly.idw"
It is a good practice to define a settings region in the preperation part of your script. This way you can easily change things like filepaths,
filenames, filetype restrictions and much more.
#region Settings
$showPDF = $true #change this setting to $true or $false for showing/hiding the PDF
$PDFfileName = $file.EntityName + ".pdf" #define here the file name for the
generated PDF
$inventorExtensions = @(".idw",".dwg",".iam",".ipt")
#endregion
The whole preperation part in our CreatePdfAsAttachment example looks like this.
Open-VaultConnection -Vault:"Vault" -Server:"2015-SV-12-RT" -User:"Administrator"
-Password:""
$file = PrepareEnvironmentForFile "Catch Assembly.iam"
$powerJobs.Log.Info("Starting job 'Create PDF as attachement' ...")
#region Settings
$showPDF = $true #change this setting to $true or $false for showing/hiding the PDF
$PDFfileName = $file.Name + ".pdf" #define here the file name for the generated PDF
$inventorExtensions = @("idw","dwg","iam","ipt")
#endregion
# limit publishing to inventor files
$ext = $file.'File Extension'
if( $inventorExtensions -contains $ext )
Execution
With "$powerJobs.Log.xxxx" you have direct access to powerJobs logging functionality.
In the execution part of the script is the actual logic of your job located. Here is the whole work done. Basically you can do everything you
want in here.
{
# publish (generate the pdf attachment)
...
$powerJobs.Log.Warn("Files with extension: '$ext' are not supported");
}
Error Handling
General information
Powerjobs handles errors in scripts differently from the normal PowerShell execution. When a script is executing in 
, the default
powershell
behavior is to 
the execution of the script when an error occurs in one of the commands. In 
the errorhandling is changed so
continue
powerjobs
that an 
is thrown if an error occurs.
exception
If you want to handle errors yourself in your script you can use PowerShell's built in exception mechanism and use 
blocks, or you can
try/catch
change the error handling behavior of PowerShell by changing the value of the 
Variable.
$ErrorActionPreference
$ErrorActionPreference options:
Identifier
Numeric Value
Description
Continue
2
This is the default preference setting. The
error object is written to the output pipe and
added to $error, and $? is set to false.
Execution then continues at the next script
line.
SilentlyContinue
0
When this action preference is set, the error
message is not written to the output pipe
before continuing execution. Note that it is
still added to $error and $? is still set to false.
Again, execution continues at the next line.
Stop
1
This error action preference changes an
error from a non-terminating error to a
terminating error. The error object is thrown
as an exception instead of being written to
the output pipe. $error and $? are still
updated. Execution does not continue.
Inquire
3
Prompts the user requesting confirmation
before continuing on with the operation.. At
the prompt, the user can choose to continue,
stop or suspend the operation.
Changing $ErrorActionPreference value
To change the value of the $ErrorActionPreference e.g. to "Continue" you can use the following statement:
If the exception is not caught in your script the script will be cancelled and the exception will be caught in the powerJobs dll. The job will
fail and an error message will be written to the log.
In powerJobs it is not recommended to use "Inquire" or numeric value 3.
$ErrorActionPreference = "Continue"
You can use the numeric value as well
$ErrorActionPreference = 2
Logging in jobs
Terminating scripts with an error
If you want your script to be terminated with an error you should use powershell's 
function. With ErrorActionPreference = "Stop" it will
throw
terminate the script and shows an error in your jobqueue as well as in the logfile.
try{
$files = $vaultConnection.FileManager.AcquireFiles($settings)
}
catch{
throw("Failed to aquire files")
}
Terminating scripts without error
If you don't want an error entry in your jobqueue for a specific scenario you should log the error with the 
object and then
$powerJobs.log
terminate your script with powershell's 
or 
function. Exit will allways close the current powershell console. Break is a bit different. If it
exit
break
gets called in a function the function is stopped. If it gets called in a loop powershell breaks out of the loop. If you call it in your mainscript it
behaves exactly like exit.
if($validFileTypes -notcontains $ext){
$powerJobs.Log.Warn("Filetype $ext is not supported")
exit
}
Additional logging
If you want to log 
or 
information you should use the 
object. It makes an entry in the
INFO, ERROR R WARNING
DEBUG
$powerJobs.log
powerJobs logfile and doesn't terminate the script.
$powerJobs.Log.Info("Starting Job: ExampleJob")
Adding jobs
Adding jobs to the directory
Verify that the job gets found
Adding jobs to the directory
Every job file has to be placed in "C:\ProgramData\coolOrange\powerJobs\Jobs"
Every module file has to be placed in "C:\ProgramData\coolOrange\powerJobs\Modules"
Documents you may be interested
Documents you may be interested