Error with V3.5 Libraries

This Forum is for the use of Software Developers requiring help and assistance for Tracker Software's PDF-Tools SDK of Library DLL functions(only) - Please use the PDF-XChange Drivers API SDK Forum for assistance with all PDF Print Driver related topics.

Moderators: Tracker Support, TrackerSupp-Daniel, Chris - Tracker Supp, Vasyl-Tracker Dev Team, Sean - Tracker, Andrew - Tracker Support, Tracker - Clarion Support, John - Tracker Supp, Tracker Supp-Stefan, Ivan - Tracker Software, Support Staff, moderators

Post Reply
glima
User
Posts: 84
Joined: Mon Sep 20, 2004 4:27 pm
Location: Phoenix, AZ

Error with V3.5 Libraries

Post by glima » Thu Mar 09, 2006 5:34 pm

I copied all the latest DLL's over the DLL's that were in my current environment. Now I get an error that

The procedure entry point ?JBIG2Decode@@......... could not be located in the dynamic link library xccdx30.dll


I need the latest DLL in order to be able to read Version 1.6 PDF files

John - Tracker Supp
Site Admin
Posts: 8202
Joined: Tue Jun 29, 2004 10:34 am
Location: Vancouver Island - Canada
Contact:

Post by John - Tracker Supp » Thu Mar 09, 2006 8:08 pm

Hi,

Need more information to be able to assist - please advise specifically which functions and from which dll library your are accessing - for example - xcpro30.dll has been replaced by xcpro35 and requires pxclib30 and PDFStr35.dll + other dll's.

Also can you run demo/example applications ok?

It would help greatly if you included a simple, sample application and project source so we can view how you are using the libraries and what you are trying to do.

thanks
If posting files to this forum - you must archive the files to a ZIP, RAR or 7z file or they will not be uploaded - thank you.

Best regards
Tracker Support
http://www.tracker-software.com

glima
User
Posts: 84
Joined: Mon Sep 20, 2004 4:27 pm
Location: Phoenix, AZ

Post by glima » Thu Mar 09, 2006 8:31 pm

Never mind I figured it out. You have completely eliminated the PDFXCp_ function calls.


javascript:emoticon(':cry:')
Crying or Very sad
This now means a 3rd re-write of a portion of my application because of lost API calls.

I use basically 10-15 functions to add watermarks to existing documents.

I now have to add additional Windows API for UNICODE support and additional logic from the new API calls.

Question: What is the equivalent of HELVETICA_BOLD as a FontID for the FontName in the new structure?

Is there a document outlining a possible process in moving from 3.0 to 3.5?



Tracker Support wrote:Hi,

Need more information to be able to assist - please advise specifically which functions and from which dll library your are accessing - for example - xcpro30.dll has been replaced by xcpro35 and requires pxclib30 and PDFStr35.dll + other dll's.

Also can you run demo/example applications ok?

It would help greatly if you included a simple, sample application and project source so we can view how you are using the libraries and what you are trying to do.

thanks
:cry: :cry: :cry:

John - Tracker Supp
Site Admin
Posts: 8202
Joined: Tue Jun 29, 2004 10:34 am
Location: Vancouver Island - Canada
Contact:

Post by John - Tracker Supp » Thu Mar 09, 2006 10:23 pm

This is not entirely correct :
Never mind I figured it out. You have completely eliminated the PDFXCp_ function calls.
where possible the function names remain the same - but to allow us to extend and improve functionality it has been necessary to replace some functions - there are now more functions and features than ever was available previously and we have tried to ensure that the pxclib30 and xcpro35 Library capabilities are as common as possible.

Also :
"I now have to add additional Windows API for UNICODE support and additional logic from the new API calls."
In general terms this is not the case, you simply need to use the Unicode or ASCII function variant within our libraries - as required. (in most cases this is just a changed string declaration fron ASCII to unicode).
Question: What is the equivalent of HELVETICA_BOLD as a FontID for the FontName in the new structure?
Now the xcpro35 library supports all fonts installed to the operating system, in common with the pxclib30 library and driver, previously this was not the case in the older xcpro30 library.

Therefore you simply need to specify the font name and style. To use "bold" fonts you should specify the Font name as usual (without "bold"), and specify font weight 700 or similar (700 is typical font weight value for bold fonts). See help for the pxclib30 library for further details. (PDFLib30Help.chm)

With regards Watermarks specifically - here is the function detail :

HRESULT PXCp_AddWatermark(
PDFDocument pDocument,
PXC_Watermark* watermark
);


the First parameter relates to the document. the 2nd - is a pointer to structure which describe's the watermark (this structure is used also in pxclib30 too for same purpose and described in the help file PDFLib30Help.chm )

Hope that helps.
If posting files to this forum - you must archive the files to a ZIP, RAR or 7z file or they will not be uploaded - thank you.

Best regards
Tracker Support
http://www.tracker-software.com

glima
User
Posts: 84
Joined: Mon Sep 20, 2004 4:27 pm
Location: Phoenix, AZ

Post by glima » Thu Mar 09, 2006 11:46 pm

1. There is no ASCII equivalent to ReadDocumentW
2. The watermark structure now includes on Wide character data
3. PDFXCp_DrawFilledRect has no equivalent in new libraries
4. PDFXCp_ScalePage no equivalent
5. PDFXCp_SetTransparency has no equivalent


I have worked around 1 and 2 but am in need of a solution for 3,4,5

John - Tracker Supp
Site Admin
Posts: 8202
Joined: Tue Jun 29, 2004 10:34 am
Location: Vancouver Island - Canada
Contact:

Post by John - Tracker Supp » Sun Mar 12, 2006 1:02 pm

Hi,
3. PDFXCp_DrawFilledRect has no equivalent in new libraries
This function was eliminated because we removed all "content creation" functions from the xcpro35.

Why? Because all of them (and more) are present in the pxclib30 and now we provide a mechanism to combine two pdf pages into one (see PXCp_PlaceContents function). Yes, it is a little more complex than simple Draw rect, but now you can create any additional content and overlay/underlay this on the existing page.

This is a much more powerful and flexible mechanism and minimises potential for errors/discrepancies when maintaining common functionality in multiple libraries.
4. PDFXCp_ScalePage no equivalent
Yes, this function has no equivalent. Can you advise please specifcally what you wish to do do and I will investigate further the possible re-incorporatiuon of suitable functionality if no alternate mthod is available.
5. PDFXCp_SetTransparency has no equivalent
This function was eliminated because the new watermark creation method use's opacity and other drawaing options as specified directly in the PXC_Watermark structure - it is therefore redundant. See m_Opacity parameter.

If you would care to advise in detail what you wish to do with existing pdf document - I can advise possibly provide some useful tips and tricks or shortcuts etc.
If posting files to this forum - you must archive the files to a ZIP, RAR or 7z file or they will not be uploaded - thank you.

Best regards
Tracker Support
http://www.tracker-software.com

glima
User
Posts: 84
Joined: Mon Sep 20, 2004 4:27 pm
Location: Phoenix, AZ

Post by glima » Sun Mar 12, 2006 3:28 pm

Our application provides the legal community with a method of "Bates" Stamping documents. Early Bates stamps were mechanical and allowed clerks to stamp paper documents. Later clerks would print these stamps on labels and place the labels on the paper documents.

We have expanded this to include many types of documents.


Image X-Change to process image files.
PDF X-Change to process MS Word, Wordperfect, Excel etc to PDF files and then stamp the PDF files.
Scan documents to PDF and stamp them.
PDF files are processed directly.

PDFXCp_DrawFilledRect allows us to draw what looks like a label on the document. Can the object created by PXCp_Init be used with the PXC_??? functions?

PDFXCp_ScalePage allows the placement of the Bates stamps without affecting the information in the document. (This was a major request by our clients)

PDFXCp_SetTransparency this function I can work around with the additional properties of the watermarks.

John - Tracker Supp
Site Admin
Posts: 8202
Joined: Tue Jun 29, 2004 10:34 am
Location: Vancouver Island - Canada
Contact:

Post by John - Tracker Supp » Sun Mar 12, 2006 8:41 pm

Hi,

If a function exists in one 1 library only it cannot be used with the 'Init' function in another library.

You may have been confused by this ...
HRESULT PXCp_AddWatermark(
PDFDocument pDocument,
PXC_Watermark* watermark
);
But the function is directly referenced specifically within the xcpro35 library PXCp_AddWatermark function and therefore is allowed and can be correctly initialised by the PXCp_Init function

With regards :
PDFXCp_ScalePage allows the placement of the Bates stamps without affecting the information in the document. (This was a major request by our clients)
Will need to refer to a colleague for advise and will respond in due course.
If posting files to this forum - you must archive the files to a ZIP, RAR or 7z file or they will not be uploaded - thank you.

Best regards
Tracker Support
http://www.tracker-software.com

John - Tracker Supp
Site Admin
Posts: 8202
Joined: Tue Jun 29, 2004 10:34 am
Location: Vancouver Island - Canada
Contact:

Post by John - Tracker Supp » Sun Mar 12, 2006 9:57 pm

I am now able to expand/extend on the earlier answer provided:
1:
PDFXCp_DrawFilledRect allows us to draw what looks like a label on the document. Can the object created by PXCp_Init be used with the PXC_??? functions?
1. Create a pdf with one page using the pxclib30 with required sizes and any drawing/text etc required and write to a temporary file.
2. Open the temporary new file using xcpro35
3. Place the created page over/under the original existing page using the PXCp_PlaceContents function.
4. Release the temporary pdf file and delete it.

This will allow you to add any drawings, text, images and so on in any positions on any page, and then combine your new content with the original page as an overlay in foreground or back ground mode.

2:
PDFXCp_ScalePage allows the placement of the Bates stamps without affecting the information in the document. (This was a major request by our clients)
Please explain "step by step" what you want to do as I am unsure how you would use this function - for example to do as I believe you indicate you require - the following is suggested :

0. Open pdf document to be stamped
1. Get existing page dimensions.
2. Create new document using pxclib30 library.
3. Add new page with same size to it.
4. Draw everything required in the stamp (including text labels, images, usage of transparency and so on)
5. Write the new document into a temporary file and release the pxclib30 document.
6. Open temporay file using xcpro35 libray .
7. Combine pages fromthe temporary document with the existing page (using PXCp_PlaceContents, with any alignment required because pages have identical sizes)
8. Release new document and delete temporary file.
9. Repeat steps 1-8 for each page that should be stamped
10. write and release stamped document.

Or you could make the new temporary page larger - align as necessary and so as not to 'impinge' on the original data if thta is your purpose?

Does that do as you require? - or do you actually want to 'reduce' / rescale your original page size to create clear space to place your stamp but retain the same page dimensions so that the new content does not appear anywhere on the page where the original contain is located?
If posting files to this forum - you must archive the files to a ZIP, RAR or 7z file or they will not be uploaded - thank you.

Best regards
Tracker Support
http://www.tracker-software.com

glima
User
Posts: 84
Joined: Mon Sep 20, 2004 4:27 pm
Location: Phoenix, AZ

Post by glima » Mon Mar 13, 2006 3:10 pm

Here are the steps.

1. Open existing document.
2. Get page
3. Scale Page (user defined percentage)
4. Place watermark on the edge of the page.
5. Save page to new document
6. Repeat for all pages in document.

You can download a demo from http://www.bates-stamp.com

glima
User
Posts: 84
Joined: Mon Sep 20, 2004 4:27 pm
Location: Phoenix, AZ

Post by glima » Mon Mar 13, 2006 3:13 pm

The scaling is to have space on the edges to allow the text underneath to be completely legable.

90% of our business is for the legal community for stamping legal documents.

John - Tracker Supp
Site Admin
Posts: 8202
Joined: Tue Jun 29, 2004 10:34 am
Location: Vancouver Island - Canada
Contact:

Post by John - Tracker Supp » Tue Mar 14, 2006 8:50 am

Thanks for the information.

We will re-introduce a similar/extended scaling function as soon as reasonably possible - and will advise as soon as it is available.
If posting files to this forum - you must archive the files to a ZIP, RAR or 7z file or they will not be uploaded - thank you.

Best regards
Tracker Support
http://www.tracker-software.com

glima
User
Posts: 84
Joined: Mon Sep 20, 2004 4:27 pm
Location: Phoenix, AZ

Post by glima » Wed Mar 29, 2006 8:28 pm

Is / was there a version of the 3.0x libraries that would read the latest Acrobat files?

We are getting calls from perspective and existing customers about PDF files not being processed.

John - Tracker Supp
Site Admin
Posts: 8202
Joined: Tue Jun 29, 2004 10:34 am
Location: Vancouver Island - Canada
Contact:

Post by John - Tracker Supp » Wed Mar 29, 2006 8:43 pm

The latest release reads the latest Adobe files - please send an example PDF that your users are experiencing problems with.

This will contain datsa we can analyse under the document properties (as can you) to establish with what build of PDF-Xchange/Tools the files were made.

Please also advise what Version of Adobe reader your users have - we have NO KNOWN issues with Adobe reader reading any of our files.
If posting files to this forum - you must archive the files to a ZIP, RAR or 7z file or they will not be uploaded - thank you.

Best regards
Tracker Support
http://www.tracker-software.com

glima
User
Posts: 84
Joined: Mon Sep 20, 2004 4:27 pm
Location: Phoenix, AZ

Post by glima » Thu Mar 30, 2006 3:34 am

It is not a problem with PDF files created by PDF-Exchange. It is a problem with PDF-Exchange reading existing PDF files.

I have two copies of my application.

1. Using PDF-Exchange libraries v3.4.0.80, I have problems reading some existing PDF files. Ususally newer PDF files.

2. Using PDF-Exchange libraries v3.5.0.98, I can read the PDF files but cannot manipulate them because of the issues brought up in this thread.


I was wondering if there were versions between 3.4.0.80 and 3.5.0.98 that may help me while I am waiting for you to add the scaling functionality back.

John - Tracker Supp
Site Admin
Posts: 8202
Joined: Tue Jun 29, 2004 10:34 am
Location: Vancouver Island - Canada
Contact:

Post by John - Tracker Supp » Thu Mar 30, 2006 7:19 am

Hi,

We need to see the PDF's that are a problem for you - either reading or manipulating - irrespective of what product created them

Without them we cannot advise as to whether it is a problem with the Libraries - in which case we will resolve urgently or it is a problem with the PDF's themselves and possibly the fact that do not conform to the PDF specification, either way, we need to see them to help you.

If you do not wish to upload them - you can send them by email to usrfiles@tracker-software.com - please zip, rar or 7z the file's.
If posting files to this forum - you must archive the files to a ZIP, RAR or 7z file or they will not be uploaded - thank you.

Best regards
Tracker Support
http://www.tracker-software.com

glima
User
Posts: 84
Joined: Mon Sep 20, 2004 4:27 pm
Location: Phoenix, AZ

Post by glima » Thu May 18, 2006 1:19 pm

It has been more than 2 months an I have not heard a word on the status of this.

As more and more customers move toward Acrobat 7.0 file format we find ourselves in a quandry on how to support this.

Can I get some type of update?

John - Tracker Supp
Site Admin
Posts: 8202
Joined: Tue Jun 29, 2004 10:34 am
Location: Vancouver Island - Canada
Contact:

Post by John - Tracker Supp » Thu May 18, 2006 1:52 pm

Please download and review the latest SDK - particuarly the help file - as this should reveal the required added features.

As said previously - if you still have problems - we will need to see your PDF's that cause a problem.
If posting files to this forum - you must archive the files to a ZIP, RAR or 7z file or they will not be uploaded - thank you.

Best regards
Tracker Support
http://www.tracker-software.com

glima
User
Posts: 84
Joined: Mon Sep 20, 2004 4:27 pm
Location: Phoenix, AZ

Post by glima » Fri May 19, 2006 7:38 pm

Tried your suggestion.

I added the PXCp_TransformPage so that I could scale the page. This function return the error -2113403728 (FFFFFFFF820804B0). According to the help documentation the is "Not Implemented".

It also creates a document that generate an error ("An unrecognized token '1.#QNAN' was found"

After removing the call to this function the output document was fine, just not scaled.

John - Tracker Supp
Site Admin
Posts: 8202
Joined: Tue Jun 29, 2004 10:34 am
Location: Vancouver Island - Canada
Contact:

Post by John - Tracker Supp » Fri May 19, 2006 7:47 pm

Please supply a code snippet where you use the PXCp_TransformPage function and a PDF containing the page you are trying to 'scale'
It also creates a document that generate an error ("An unrecognized token '1.#QNAN' was found"
and also the 'bad page' created referred to above (all zipped please)

Thanks
If posting files to this forum - you must archive the files to a ZIP, RAR or 7z file or they will not be uploaded - thank you.

Best regards
Tracker Support
http://www.tracker-software.com

glima
User
Posts: 84
Joined: Mon Sep 20, 2004 4:27 pm
Location: Phoenix, AZ

Post by glima » Fri May 19, 2006 8:40 pm

This code is Clarion. I use your libraries straight without any templates.

Definitions
PXC_Matrix_rec Group,Type
a Real
b Real
c Real
d Real
e Real
f Real
End



PXCp_TransformPage(LONG pDocument, LONG PageNumber, LONG pMatrix, LONG flags),LONG,PASCAL,RAW




Code that is being run


R:Matrix Like(PXC_Matrix_rec),PRE(PXM)


L:rScale = 0.75


if L:rScale < 1
PXM:a = L:rScale
PXM:b = 0
PXM:c = 0
PXM:d = L:rScale
PXM:e = 0
PXM:f = 0
s# = PXCp_TransformPage(L:FileHandle, L:CurrentPage, Address(R:Matrix),1)
ErrorLog('BATESENG Scaling Document '&s#&' - '&L:rScale)
end

glima
User
Posts: 84
Joined: Mon Sep 20, 2004 4:27 pm
Location: Phoenix, AZ

Post by glima » Fri May 19, 2006 8:43 pm

I cannot upload files. Always getting connection reset

John - Tracker Supp
Site Admin
Posts: 8202
Joined: Tue Jun 29, 2004 10:34 am
Location: Vancouver Island - Canada
Contact:

Post by John - Tracker Supp » Sat May 20, 2006 8:55 am

Hi,

I have no idea why you have this problem - were they 'zipped' ?

If you cannot upload files - then please email them to usrfiles@tracker-software.com

But please do zip, 7z, or RAR them or they will be removed by our spam/virus filters.
If posting files to this forum - you must archive the files to a ZIP, RAR or 7z file or they will not be uploaded - thank you.

Best regards
Tracker Support
http://www.tracker-software.com

Post Reply