c# pdfdocument : Create bookmarks in pdf from excel software SDK project winforms wpf .net UWP Common%20Driver%20Interface%2030014-part1112

141
SetEmailFieldFrom, SetEmailFieldTo, SetEmailFieldCC, SetEmailFieldBCC, 
SetEmailSubject, SetEmailMessage, SetEmailPrompt Functions 
The SetEmailFieldFromSetEmailFieldToSetEmailFieldCCSetEmailFieldBCCSetEmailSubject, SetEmailMessage and
SetEmailPrompt functions are used to set the various email parameters that can be found in the Destination property tab of the 
Amyuni Converter products.
Syntax
int SetEmailFieldFrom(HANDLE hPrinter, LPCSTR szEmailFieldFrom);
int SetEmailFieldTo( HANDLE hPrinter, LPCSTR szEmailFieldTo);
int SetEmailFieldCC( HANDLE hPrinter, LPCSTR szEmailFieldCC);
int SetEmailFieldBCC( HANDLE hPrinter, LPCSTR szEmailFieldBCC);
int SetEmailSubject( HANDLE hPrinter, LPCSTR szEmailSubject);
int SetEmailMessage( HANDLE hPrinter, LPCSTR szEmailMessage);
int SetEmailPrompt( HANDLE hPrinter, BOOL bEmailPrompt);
Parameters
szEmailFieldFrom 
[in]Name of the email sender as it shows to the person receiving the email. This parameter is used only in the 
case of sending emails through SMTP.   
szEmailFieldTo 
[in]Name and email address of the email destinator. Multiple addresses can be specified by separating them 
with semi-colons (;).   
szEmailFieldCC 
[in]Name and email address of the email Carbon Copy list. Multiple addresses can be specified by separating 
them with semi-colons (;).  
szEmailFieldBCC 
[in]Handle Name and email address of the email Blind Carbon Copy list. Multiple addresses can be specified by 
separating them with semi-colons (;).   
szEmailSubject 
[in]Subject of the email. 
szEmailMessage 
[in]Email message. 
bEmailPrompt 
[in]If set to True, the user is prompted with the message details before the email is sent. This parameter is 
used only in the case of sending emails through MAPI.   
Return Value
These functions return 1 if successful, 0 otherwise.
Remarks
Emails can be sent using either MAPI compliant email systems, or directly using SMTP protocol without the use of any installed 
email client.
Example
Check the SetEmailOptions function for a complete sample
Create bookmarks in pdf from excel - add, remove, update PDF bookmarks in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your C# Project with Rapid PDF Internal Navigation Via Bookmark and Outline
add bookmarks to pdf file; add bookmarks to pdf preview
Create bookmarks in pdf from excel - VB.NET PDF bookmark library: add, remove, update PDF bookmarks in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your VB.NET Project with Rapid PDF Internal Navigation Via Bookmark and Outline
export pdf bookmarks to text; export pdf bookmarks
142
SetEmailOptions, GetEmailOptions Functions 
The SetEmailOptions and SetEmailOptionsare used to set or read options specific to sending emails through the Amyuni 
Converter products.
Syntax
long SetEmailOptions( HANDLE hPrinter, long nEmailOptions );
long GetEmailOptions( HANDLE hPrinter ); 
Parameters
nEmailOptions 
[in]Options specific to sending emails. The list of supported options is in the Remarks section below.   
Return Value
The SetEmailOptions function returns 1 if successful, 0 otherwise. The GetEmailOptions function returns the options currently set 
in the printer.
Remarks
Emails can be sent using either MAPI compliant email systems, or directly using SMTP protocol without the use of any installed 
email client.
These functions supecede the SetEmailPrompt function as they provide some additional options.
nEmailOptions values:
Option
Option value
Prompt before sending email 2
Send emails using SMTP
Example
void CDLLTestDlg::OnPrint() 
{
HFONT
font, oldFont;
HDC
dc;
DOCINFO
di;
// create a printer device context
dc = CreateDC( "winspool", theApp.m_szPrinter, NULL, NULL );
if ( NULL == dc )
{
ASSERT( FALSE );
return;
}
// init the DOCINFO structure
memset( &di, 0, sizeof(di) );
di.cbSize = sizeof( di );
di.lpszDocName = "Test document";
di.lpszOutput = NULL;
// activate printer before starting to print
EnablePrinter( theApp.m_converter, "Evaluation Version Developer", "07EFCDAB0100…E2B5237F8F5" );
// create an RTF document and send it by email
SetFileNameOptions( theApp.m_converter, NoPrompt + ExportToRTF + SendByEmail );
// create RTF files with no frames
SetPrinterParamInt( theApp.m_converter, "RTF Format", 2 );
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Bookmarks. inputFilePath = Program.RootPath + "\\" 3.pdf"; String outputFilePath = Program.RootPath + "\\" 3_optimized.pdf"; 'create optimizing options
convert word to pdf with bookmarks; bookmarks pdf
VB.NET PDF File Split Library: Split, seperate PDF into multiple
file into multiple ones by PDF bookmarks or outlines As String = Program.RootPath + "\\" 1.pdf" Dim outputFileName 1 to (Page Count - 1). ' Create output PDF
how to add bookmarks to pdf files; add bookmarks to pdf online
143
// set email parameters to automatically send document by email
SetEmailFieldTo( theApp.m_converter, "info@amyuni.com" );
SetEmailFieldCC( theApp.m_converter, "support@amyuni.com" );
SetEmailSubject( theApp.m_converter, "Testing email capabilities" );
SetEmailMessage( theApp.m_converter, "Please find attached the requested document\nin RTF format." 
);
SetEmailOptions( theApp.m_converter, SMO_PROMPT_RECIPIENT );
// start printing
StartDoc( dc, &di );
StartPage( dc );
MoveToEx( dc, 100, 100, NULL );
LineTo( dc, 400, 100 );
MoveToEx( dc, 100, 100, NULL );
LineTo( dc, 100, 400 );
font = CreateFont( -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, _T("Verdana") ); 
oldFont = (HFONT)SelectObject( dc, font );
TextOut( dc, 100, 100, _T("Hi There"), 8 );
if ( oldFont ) SelectObject( dc, oldFont );
DeleteObject( font );
EndPage( dc );
EndDoc( dc );
DeleteDC( dc );
// printing ended, no need to disactivate printer
// the printer will be disactivated automatically
}
C# PDF File Compress Library: Compress reduce PDF size in C#.net
Bookmarks. inputFilePath = Program.RootPath + "\\" 3.pdf"; String outputFilePath = Program.RootPath + "\\" 3_optimized.pdf"; // create optimizing options
how to add bookmarks on pdf; add bookmark pdf file
C# PDF File Split Library: Split, seperate PDF into multiple files
Split PDF file by top level bookmarks. The following C# codes explain how to split a PDF file into multiple ones by PDF bookmarks or outlines.
creating bookmarks in a pdf document; bookmarks pdf files
144
SetDocEmailProps Method
The SetDocEmailPropsmethod can be used in multi-threading situations to avoid conflicts between multiple applications or 
multiple threads requesting simultaneous access the Converter products. The CDIntf library uses the registry to interact with the 
printer drivers. This can cause conflicts when multiple applications use CDIntf to access the printer drivers.
*Read the documentation for the Lock and the Unlock methods for further clarification.
Syntax
Function SetDocEmailProps(szDocTitle As String, szTO As String, szCC As String, szBCC As String, szSubject As String, 
szMessage As String, lPrompt As Long) As Long
Parameters
szDocTitle
[in] The document title as it appears in the print spooler when printing any document, this should be the same 
as the parameter szLockName used for Lock and Unlock.
szTo 
[in]Name and email address of the email destinator. Multiple addresses can be specified by separating them 
with semi-colons (;).   
szCC 
[in]Name and email address of the email Carbon Copy list. Multiple addresses can be specified by separating 
them with semi-colons (;).  
szBCC 
[in]Handle Name and email address of the email Blind Carbon Copy list. Multiple addresses can be specified by 
separating them with semi-colons (;).   
szSubject 
[in]Subject of the email
szMessage 
[in]Email message
lPrompt
if true (1) prompt the user with a dialog box, otherwise(0) do things silently
Return Value
Returns 0 when successful, < 0 upon failure
Remarks
C# Create PDF Library SDK to convert PDF from other file formats
Create multipage PDF from OpenOffice and CSV file. Create and save editable PDF with a blank page, bookmarks, links, signatures, etc.
how to add a bookmark in pdf; bookmarks pdf file
XDoc.Excel for .NET, Comprehensive .NET Excel Imaging Features
navigation, zooming & rotation; Outlines, bookmarks, & thumbnail Convert Excel to PDF; Convert Excel to HTML5; Create Excel with one blank page; Load Excel from
creating bookmarks in pdf documents; pdf reader with bookmarks
145
SetDocEmailPropsEx Method
The SetDocFilePropsmethod can be used in multi-threading situations to avoid conflicts between multiple applications or 
multiple threads requesting simultaneous access the Converter products. The CDIntf library uses the registry to interact with the 
printer drivers. This can cause conflicts when multiple applications use CDIntf to access the printer drivers.
*Read the documentation for the Lock and the Unlock methods for further clarification.
Syntax
Function SetDocEmailPropsEx (szDocTitle As String, szSmtpServer As String, lSmtpPort As Long, szFrom As String, szTO 
As String, szCC As String, szBCC As String, szSubject As String, szMessage As String, lFlags As Long) As Long
Parameters
szDocTitle
[in] The document title as it appears in the print spooler when printing any document, this should be the same 
as the parameter szLockName used for Lock and Unlock.
szSmtpServer 
[in]Name or IP address of server used to send emails.
lSmtpPort
[in] SMTP port number on server used to send emails. The default value is 25
szFrom
[in]Name of the email sender as it shows to the person receiving the email. This parameter is used only in the 
case of sending emails through SMTP.   
szTo 
[in]Name and email address of the email destinator. Multiple addresses can be specified by separating them 
with semi-colons (;).   
szCC 
[in]Name and email address of the email Carbon Copy list. Multiple addresses can be specified by separating 
them with semi-colons (;).  
szBCC 
[in]Handle Name and email address of the email Blind Carbon Copy list. Multiple addresses can be specified by 
separating them with semi-colons (;).   
szSubject 
[in]Subject of the email
szMessage 
[in]Email message. 
lFlags
SMO_PROMPT_PROFILE (not used)
SMO_PROMPT_RECIPIENT = prompt before sending MAPI emails
SMO_SMTP_MAIL = send email by SMTP and not by MAPI
Return Value
Returns 0 when successful, < 0 upon failure
Remarks
.NET PDF SDK - Description of All PDF Processing Control Feastures
bookmarks, & thumbnail display; Integrated annotation; More about Web Viewer ▶. Conversion. PDF Create. Create PDF from Word (docx, doc); Create PDF from Excel
how to add bookmarks to pdf document; copy pdf bookmarks to another pdf
VB.NET Create PDF Library SDK to convert PDF from other file
Create multipage PDF from OpenOffice and CSV file. Create and save editable PDF with a blank page, bookmarks, links, signatures, etc.
pdf create bookmarks; create bookmarks in pdf
146
SetSmtpServer, SetSmtpPort Functions 
The SetSmtpServer and SetSmtpPort functions are used to set the server address and port number of the server used to send 
emails. These parameters are needed only when sending emails through direct SMTP without the use of MAPI.
Syntax
int SetSmtpServer( HANDLE hPrinter, LPTSTR szSmtpServer );
int SetSmtpPort( HANDLE hPrinter, long lSmtpPort ); 
Parameters
szSmtpServer 
[in]Name or IP address of server used to send emails.
lSmtpPort
[in] SMTP port number on server used to send emails. The default value is 25.  
Return Value
The SetSmtpServer  and SetSmtpPort functions return 1 if successful, 0 otherwise.
Remarks
Emails can be sent usingeither MAPI compliant email systems, or directly using SMTP protocol without the use of any installed 
email client.
Example
// set email parameters to automatically send document by email using SMTP
SetEmailFieldFrom (theApp.m_converter, "test@amyuni.com");
SetEmailFieldTo (theApp.m_converter, "info@amyuni.com");
SetEmailFieldCC (theApp.m_converter, "support@amyuni.com");
SetEmailSubject (theApp.m_converter, "Testing email capabilities");
SetEmailMessage (theApp.m_converter, "Please find attached the requested document.");
SetSmtpServer (theApp.m_converter, "smtp10.bellnet.ca");
SetSmtpPort (theApp.m_converter, 25);
SetEmailOptions ( theApp.m_converter, SMO_SMTP_MAIL );
147
SendMail, SendMailW Functions 
The SendMail function is used to send a message with one or more attachments using MAPI email. The SendMailW function is 
the unicode equivalent of the same function.
Syntax
long SendMail( LPCSTR szTo, LPCSTR szCC, LPCSTR szBCC, LPCSTR szSubject, LPCSTR szMessage, LPCSTR 
szFilenames, long lOptions);
long SendMailW( LPCWSTR szTo, LPCWSTR szCC, LPCWSTR szBCC, LPCWSTR szSubject, LPCWSTR szMessage, LPCWSTR 
szFilenames, long lOptions ); 
Parameters
szTo 
[in]Name and email address of the email destinator. Multiple addresses can be specified by separating them 
with semi-colons (;).   
szCC 
[in]Name and email address of the email Carbon Copy list. Multiple addresses can be specified by separating 
them with semi-colons (;).  
szBCC 
[in]Handle Name and email address of the email Blind Carbon Copy list. Multiple addresses can be specified by 
separating them with semi-colons (;).   
szSubject 
[in]Subject of the email. 
szMessage 
[in]Email message. 
szFileNames
[in] Series of file names and their captions as they should appear in the email attachment. The file name is the
full path of the file to send, the caption is the name of the file as seen by the recipient. The syntax for sending 
multiple files is as follows: file1;caption1;file2;caption2;.... 
lOptions 
[in]Options specific to sending emails. The list of supported options is in the Remarks section below.
Return Value
The SendMail function returns the value MAPI_E_NOT_SUPPORTED if no MAPI compliant email is installed in the system. It 
returns 0 if successful or a MAPI specific error code if an error occurs when sending the email.
Remarks
lOptions values:
Option
Option value
Prompt before sending email 2
Depending on the security settings of the system from which the email is sent, the users might be prompted with a confirmation 
message stating that an external application is trying to send an email on their behalf. This is an important MAPI security 
measure which cannot and should not be overridden.
Example
// send multiple files using MAPI email without prompting the user
SendMail( "info@amyuni.com", "support@amyuni.com", "", "Testing email capabilities",
"Please find attached the requested document.", 
"c:\\temp1.pdf;document1.pdf;c:\\temp2.pdf;document2.pdf", 2
);
148
SendSmtpMail, SendSmtpMailW Functions 
The SendSmtpMail function is used to send a message with one or more attachments using direct SMTP email. The 
SendSmtpMailWfunction is the unicode equivalent of the same function.
Syntax
long SendSmtpMail( LPCSTR szHostname, long lPort, LPCSTR szFrom, LPCSTR szTo, LPCSTR szCC,LPCSTR szBCC, 
LPCSTR szSubject, LPCSTR szMessage, LPCSTR szFilenames, long lOptions );
long SendSmtpMailW( LPCWSTR szHostname, long lPort, LPCWSTR szFrom, LPCWSTR szTo, LPCWSTR szCC, LPCWSTR 
szBCC, LPCWSTR szSubject, LPCWSTR szMessage, LPCWSTR szFilenames, long lOptions ); 
Parameters
szHostName 
[in]Name or IP address of server used to send emails.
lPort
[in] SMTP port number on server used to send emails. The default value is 25.  
szFrom 
[in]Name of the email sender as it shows to the person receiving the email.   
szTo 
[in]Name and email address of the email destinator. Multiple addresses can be specified by separating them 
with semi-colons (;).   
szCC 
[in]Name and email address of the email Carbon Copy list. Multiple addresses can be specified by separating 
them with semi-colons (;).  
szBCC 
[in]Handle Name and email address of the email Blind Carbon Copy list. Multiple addresses can be specified by 
separating them with semi-colons (;).   
szSubject 
[in]Subject of the email. 
szMessage 
[in]Email message. 
szFileNames
[in] Series of file names and their captions as they should appear in the email attachment. The file name is the 
full path of the file to send, the caption is the name of the file as seen by the recipient. The syntax for sending 
multiple files is as follows: file1;caption1;file2;caption2;.... 
Return Value
The SendSmtpMail function returns 0 if successful or an SMTP specific error code if an error occurs when sending the email.
Remarks
Example
// send multiple files using SMTP email
SendSmtpMail( "smtp.amyuni.com", 25, "test.amyuni.com", "info@amyuni.com", 
"support@amyuni.com", "", "Testing email capabilities",
"Please find attached the requested document.", 
"c:\\temp1.pdf;document1.pdf;c:\\temp2.pdf;document2.pdf"
);
149
Print Job Locking Functions
CDIntfEx.Lock
CDIntfEx.Unlock
CDIntfEx.TestLock
CDIntfEx.GLock
CDIntfEx.GUnLock
CDIntfEx.SetDocFileProps
150
CDIntfEx.Lock Method
The Lockmethod can be used in multi-threading situations to avoid conflicts between multiple applications or multiple threads 
requesting simultaneous access to the Converter products. The CDIntf library uses the registry to interact with the printer drivers. 
This can cause conflicts when multiple applications use CDIntf to access the printer drivers.
Syntax
Function Lock(szLockName As String) As Long
Parameters
szLockName
[in] Lock identifier, this should be the document title as it appears in the print spooler when printing any 
document.
Return Value
The return value is 0 if the function is successfulor a Windows specific error code if the function fails. 
Remarks
The Lock method is only needed for applications using CDIntf to set the destination file name and options. The technical notes on 
www.amyuni.com provide alternative ways for using the Document Converter products in multi-threading situations without the 
need for CDIntf or the Lock functions.
When the Lock function is used, the output file name and options are set using the SetDocFileProps function and not the more 
common DefaultFileName and FileNameOptions properties.
Job locking is needed in the following scenario:
1. Application or Thread A uses DefaultFileName or DefaultDirectory to set the output file name before starting to print
2. Application B also also uses DefaultFileName or DefaultDirectory to set the output file name
3. Application A starts to print, but prints to the file set by application B and not application A
To solve this issue, the printer driver should be locked for the few microseconds it takes for application A from the time it sets the 
output file name, to the time it starts to print. As soon as the Application A starts to print, the lock can be released to allow 
Application B to print in parallel.
Example
Private Sub PrintWord_Click()
' this method opens and prints a Word document using Automation
' it uses the Locking mechanism of CDIntf to avoid multi-threading conflicts
Dim fileName As String
' the lock name in the case of MS Word is the same as the file name
Dim LockName As String
LockName = "test.doc"
Dim wordApp As New Word.Application
Dim documents As Word.documents
On Error GoTo unlock_printer
' open a Word document in Read-only mode
Set documents = wordApp.documents
documents.Open "c:\wutemp\test.doc", False, True
' set the ActivePrinter to ours
wordApp.ActivePrinter = PrinterName
' lock printer before starting to print
cdi.Lock LockName
fileName = "c:\test" & index & ".pdf"
index = index + 1
cdi.SetDocFileProps LockName, 1 + 2, "", fileName
Documents you may be interested
Documents you may be interested