Frameworks
Integrations
Mendix
SharePoint
Default UI
Modular UI
AnnotationManager
Annotation Types
Customize
Version 11
Version 10
v10.12
v10.11
v10.10
v10.9
v10.8
v10.7
v10.6
v10.5
v10.4
v10.3
v10.2
v10.1
v10.0
Version 8
v8.12
v8.11
v8.10
v8.9
v8.8
v8.7
v8.6
v8.5
v8.4
v8.3
v8.2
v8.1
v8.0
Version 7
Version 6
v6.3
v6.2
v6.1
v6.0
Version 5
Version 4
Version 3
Version 2
WebViewer Server
WebViewer BIM
This guide uses ES7 JavaScript async/await. For more information on async/await, refer to these online explanations.
Open up SampleTest.html with a text editor and copy/paste the following code into the HTML document.
Here we include Full API, the necessary libraries it depends on, and our currently empty SampleTest.js custom file. Adding these files in a different order may result in errors.
Open up SampleTest.js with a text editor and copy/paste the following code into the JavaScript document:
In this script our code is wrapped inside an immediately invoked function expression. Inside the function we have an empty main()
function that we pass as a callback to PDFNet.runWithCleanup()
. We'll add our custom code to the main()
function later. We use PDFNet.runWithCleanup()
to take care of locking and memory management of our code, more detail of this can be found in the Advanced Features section. Also note that PDFNet.runWithCleanup()
and PDFNet.runWithoutCleanup()
don't necessarily need to be used with async/await functions. They can be use with any function that returns a promise.
Copy/paste the following code and use it to replace our currently empty main()
function.
Here we set up the basic requirements for a Full API script.
PDFNet.PDFDoc.create()
- Creates an empty placeholder PDF document. All Full API functions return a promise, which means that for functions which return a value or object, we need to add an await
statement in front to guarantee that the object is resolved by the time we use it. Without adding an await
statement, PDFNet.PDFDoc.create()
will simply return a promise rather than the document we want.
To open an existing PDF document, call PDFNet.PDFDoc.createFromURL("path/to/pdfdoc.pdf");
instead.
doc.initSecurityHander()
- Initializes security handler which is used to check for and handle password-locked PDFs.
doc.lock()
- Locks all operations on the document in order to avoid editing conflicts from other processes. More information is available in the advanced guide.
Now that we have properly set up our document, we can call read/write operations on it.
await doc.getPageCount()
- Returns a promise that contains the number of pages in the PDF document. Remember to use await to resolve the promise.
To test if everything is working correctly, we have an alert message at the end of our try block that will output the number of pages in our PDF doc.
Since we have not added any pages to our pdf doc, the number of pages will be 0. Try swapping out create()
with createFromURL("path/to/pdfdoc.pdf")
to test the getPageCount()
function on an existing PDF document.
const doc = await PDFNet.PDFDoc.createFromURL("myfile.pdf");
Run SampleTest.html on a server. The "Test Complete!" alert box should pop up after a few moments.
Did you find this helpful?
Trial setup questions?
Ask experts on DiscordNeed other help?
Contact SupportPricing or product questions?
Contact Sales