c# pdfdocument : Create pdf bookmarks online application SDK cloud html winforms azure class Common%20Driver%20Interface%203006-part1123

61
Lock Function
The Lockfunction 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.
Syntax
int Lock( HANDLE hPrinter, LPCSTR szLockName )
Parameters
hPrinter 
[in]Handle to printer returned by any of theDriverInit function calls.
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 successful, or a Windows specific error code if the function fails. 
Remarks
The Lock function is only needed for applications using CDIntf to set the destination file nameand options.The technical notes on 
www.amyuni.comprovide 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 SetDefaultFileName and SetFileNameOptions functions.
Job locking is needed in the following scenario:
1. Application or Thread A uses SetDefaultFileName or SetDefaultDirectory to set the output file name before starting to 
print
2. Application B also also uses SetDefaultFileName or SetDefaultDirectory to set theoutput 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 
outputfile 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
DWORD WINAPI ThreadFunc( HANDLE converter ) 
// this method opens and prints a Word document using Automation
// it uses the Locking mechanism of CDIntf to avoid multi-threading conflicts
static
int
index = 1;
// the index is incremented for every printout
TCHAR
fileName[MAX_PATH];
// the lock name in the case of MS Word is the same as the file name
TCHAR
LockName[] = _T("test.doc");
// these classes are created when importing the MS Word objects
_Application
*wordApp = NULL;
Documents*documents = NULL;
::OleInitialize( NULL );
LPDISPATCH
pdisp;
__try {
Create pdf bookmarks online - 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
pdf bookmarks; how to bookmark a pdf document
Create pdf bookmarks online - 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 file; create bookmarks pdf
62
// open MS Word
wordApp = new _Application();
wordApp->CreateDispatch( _T("Word.Application") );
// open a Word document in Read-only mode
pdisp = wordApp->GetDocuments();
documents = new Documents( pdisp );
documents->Open( COleVariant( _T("c:\\wutemp\\test.doc") ),
// file name
COleVariant(),
COleVariant( (short)1 )
);
// set the ActivePrinter to ours
wordApp->SetActivePrinter( theApp.m_szPrinter );
// lock printer before starting to print
Lock( converter, LockName );
wsprintf( fileName, "c:\\test%d.pdf", index++ );
SetDocFileProps( converter, LockName, 
NoPrompt + UseFileName,
// output file name defined by our application
_T(""),
// default directory is not used
fileName
// set the output file name to "testN.pdf"
);
// enable printer before printing (developer version only)
EnablePrinter( converter, "Evaluation Version Developer", "07EFCDAB01…5237F8F5" );
// print the Word document without background printing
wordApp->PrintOut( COleVariant( 0L ) );
}
__finally 
{
// the printer is unlocked automatically as soon as it starts to print
// Unlock is needed only in the case an error occurs while printing
Unlock( converter, LockName, 1000 );
if ( wordApp )
wordApp->Quit( COleVariant(), COleVariant(), COleVariant() );
delete documents;
delete wordApp;
}
::OleUninitialize();
return 0; 
}
void CDLLTestAppDlg::OnPrintWord() 
{
// this function simulates two threads printing a Word document in parallel
DWORD
dwThreadId;
HANDLE
hThread1 = CreateThread( NULL, 0, ThreadFunc, (LPVOID)theApp.m_converter, 0,&dwThreadId );
HANDLE
hThread2 = CreateThread( NULL, 0, ThreadFunc, (LPVOID)theApp.m_converter, 0,&dwThreadId );
CloseHandle( hThread1 );
CloseHandle( hThread2 );
}
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
create bookmark pdf file; add bookmarks to pdf file
VB.NET PDF File Split Library: Split, seperate PDF into multiple
how to split a PDF file into multiple ones by PDF bookmarks or outlines Valid value for each index: 1 to (Page Count - 1). ' Create output PDF file path
bookmarks pdf; how to bookmark a pdf file in acrobat
63
Unlock Function
The Unlockfunction can be used in multi-threading situations to avoid conflicts between multiple applications or multiple threads 
requesting simultaneous access the Converter products. TheCDIntf 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
int Unlock( HANDLE hPrinter, LPCSTR szLockName, long dwTimeout )
Parameters
hPrinter 
[in]Handle to printer returned by any of the DriverInit function calls.
szLockName
[in] Lock identifier, this should be the document title as it appears in the print spooler when printing any 
document.
dwTimeout
[in]Timeout in milliseconds after which the function returns.
Return Value
The return value is 0 if the function is successful, or a Windows specific error code if the function fails. 
Remarks
The Unlock function is used after printing has ended to make sure another printout can start. Thecall to Unlock is needed only in 
the case where an error occurs, the printer will otherwise call Unlock internally as soon as printing starts to allow another printout 
to occur in parallel.
Example
See the Lock function for a complete sample.
C# PDF File Split Library: Split, seperate PDF into multiple files
Free download library and use online C# class source codes in .NET framework 2.0 explain how to split a PDF file into multiple ones by PDF bookmarks or outlines
excel hyperlink to pdf bookmark; export pdf bookmarks to excel
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
export excel to pdf with bookmarks; excel pdf bookmarks
64
TestLock Method
The TestLockmethod is used in conjunction with Lock in multiple-threading situations to check the status of the lock from the 
current thread.
Syntax
TestLock (hIntf As HANDLE, szLockName As String) As Integer
Parameters
hIntf
handle returned bythe Init function
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 calling thread owns the lock, -1 if the lock is not owned by the calling thread, or an error code <-1 if 
the lock does not exist.
Remarks
None
C# Create PDF Library SDK to convert PDF from other file formats
and save editable PDF with a blank page, bookmarks, links, signatures Create fillable PDF document with fields. Preview PDF documents without other plug-ins.
convert word to pdf with bookmarks; bookmarks in pdf reader
.NET PDF SDK - Description of All PDF Processing Control Feastures
Download Free Trial View Online Demo Purchase Now. Full page navigation, zooming & rotation; Outlines, bookmarks, & thumbnail display; Conversion. PDF Create.
adding bookmarks to pdf reader; pdf create bookmarks
65
GLock Method
The GLockmethod globally locks all methods that modify the registry, and makes them accessible only by the calling thread.
Syntax
GLock (hIntf as HANDLE) AsInteger
Parameters
hIntf
handle returned by Init function
Return Value
The return value is 0 if the function is successful or < 0 (negative)if the function fails
Example 
Refer to CDIntfEx.GLock on page 154 for a full sample
VB.NET Create PDF Library SDK to convert PDF from other file
editable PDF with a blank page, bookmarks, links, signatures Create fillable PDF document with fields in Visual Load PDF from stream programmatically in VB.NET.
create pdf bookmarks from word; add bookmarks pdf
XDoc.Word for .NET, Advanced .NET Word Processing Features
& rotation; Outlines, bookmarks, & thumbnail display; Integrated annotation; More about Web Viewer ▶. Conversion. Word Create. Create Word from PDF; Create Word
excel hyperlink to pdf bookmark; pdf bookmarks
66
GUnLock Method
The GunLockmethod unlocks the global lock. If unlock is not called, the system wide lock remains until next system reboot.
Syntax
GUnlock (hIntf As HANDLE) As Integer
Parameters
hIntf
handle returned by the Init function
Return Value
The return value is 0 if the function is successful or < 0 (negative)if the function fails
Example
Refer to CDIntfEx.GLock on page 154 for a full sample
67
SetDocFileProps Function
The SetDocFilePropsfunction 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.
Syntax
int SetDocFileProps( HANDLE hPrinter, LPCSTR szDocTitle, long lOptions, LPCSTR szFileDir,  LPCSTR szFileName );
Parameters
hPrinter 
[in]Handle to printer returned by any of the DriverInit function calls.
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.
lOptions
[in]Output file name options equivalent to the function SetFileNameOptions.
szFileDir
[in]Destination directory, equivalent to the SetDefaultDirectory function call.
szFileName
[in]Output file name,  equivalent to the function SetDefaultFileName.
Return Value
The return value is 0 if the function is successful, or a Windows specific error code if the function fails. 
Remarks
This function replaces the calls to SetDefaultDirectory, SetDefaultFileName and SetFileNameOptions in the cases where print job 
locking is needed. The documentation for these three functions contains a complete description of the lOptions, szFileDir and 
szFileName parameters.
Example
See the Lock function for a complete sample. 
68
PDF File Processing
PDF/A Support
ConcatenateFiles
MergeFiles
SetLicenseKeyA, SetLicenseKeyW
SetCompression, GetCompression
EncryptPDFDocument, EncryptPDFDocument128
LinearizePDFDocument
PrintPDFDocument, PrintPDFDocumentEx
PDF2RTF
PDF2HTML
PDF2EXCEL
PDF2JPEG
PDF2TIFF
PDF2XPS
69
PDF/A Support
PDF/A is based on PDF 1.4 and places a certain number of constraints on PDF files to ensure that the files will remain readable 
with newer versions of operating systems and PDF readers. 
PDF/A has now become an ISO standard: ISO 19005-1 norm for Electronic document file format for long-term preservation. 
The main constraints that are placed on PDF files include: 
• All fonts must be embedded with unicode conversion tables 
• Colorspaces specified in a device-independent manner 
• Audio and video content, Javascript and encryption are forbidden 
• PDF files should contain XMP based metadata 
To enable PDF/A when converting documents using PDF Converter, you should set the following flags in the image options 
property or function call: 
Options
Description
Value
IO_NODUPLICATES
Remove Duplicate Images
0x00000001
IO_DOWNSAMPLE
Downsample high-resolution images
0x00000002
IO_CONVERTTOCMYK
Convert RGB colors to CMYK
0x00000004
IO_OUTPUTPDFA
Create PDF/A files that are Acrobat 7 
compatible
0x00000008
IO_XMPMETADATA
Add XMP metadata to PDF files(can be used 
independently of PDF/A)
0x00000010
IO_OUTPUTPDFA8
Create PDF/A files that are Acrobat 8 
compatible
0x00000020
IO_NOPRECOMPRESSED
Instructs GDI to send uncompressed images 
instead of PNG/JPEG images.
0x00000040
For Acrobat 7
ImageOptions = IO_OUTPUTPDFA + IO_XMPMETADATA; 
SetDefaultConfig 
For Acrobat 8
ImageOptions = IO_OUTPUTPDFA8 + IO_XMPMETADATA; 
SetDefaultConfig 
Having 2 separate flags will enable the developer to output XMP Metadata independently of PDF/A compatibility. In addition, the 
developer should always set Multilanguage support so that the fonts get properly embedded. 
Earlier versions of Acrobat 7 will flag our files as non PDF/A compatible. Make sure you are using Acrobat 7.0.7 to check for PDF/A 
compatibility.
There is unfortunately no way of creating PDF/A files that are flagged as valid PDF/A by both Acrobat 7 and Acrobat 8. Acrobat 8 
is more comformant to the specifications, and the recommended flag is IO_OUTPUTPDFA8 although this flag will cuase Acrobat 7 
to flag an error in the PDF file.
70
ConcatenateFiles Function
The ConcatenateFilesfunction appends or concatenates a second PDF file to a first one.
Syntax
BOOL ConcatenateFiles ( LPCSTR file1, LPCSTR file2, LPCSTR file3 )
Parameters
file1
[in]Full path of the first file.
file2
[in] Full path of the second file to be appended to file1.
file3
[in] Full path of the destination or output file. 
Return Value
The return value is True if the files were appended, False if an error occurred appending files.
Remarks
This function is not guaranteed to process files created from PDF generation tools other than the Amyuni PDF Converter, or 
Amyuni PDF Creator. It will however work with files coming from most applications.
Example
ConcatenateFiles( "c:\\test1.pdf", "c:\\test2.pdf", "c:\\appended.pdf" );
Documents you may be interested
Documents you may be interested