Our ASP.NET application allows the users to review any number of PDF forms. A simple listbox holds filenames and the forms are displayed inside a standard iFrame. The setup is simple and effective: when the user clicks on a filename, that filename is loaded into the iFrame, and shown to the user.
Users are allowed to digitally sign the forms. For appearance purposes, a bitmap of the user' signature is generated and placed in the appropriate location of the PDF form.
The bitmap file format is GIF, and the background is transparent.
We use iTextSharp for form-filling, and we also use iTextSharp to place the bitmap on the forms. Nothing special.
We can readily verify that the signature bitmap is correctly placed on the form, and that the bitmap itself is definitely transparent.
After placing the bitmap of the user' signature on the form, the form is reloaded and displayed to the user (for verification)… and, in most cases, the forms do not display the bitmap. Opening the PDF reveal that the bitmap has been placed and is definitely visible in Adobe Reader (9 and 10 - these are the versions available for testing).
Experimentation and quite a bit of research seems to suggest that the problem lies in caching. One of the possible solution/suggestion is to append a time-stamp or a GUID to the URL, when loading the form after applying the bitmap. In theory, this should prevent Adobe Reader from using a cached copy of the PDF form.
We have tried appending a time-stamp and/or a GUID, without any success: the forms still display without the bitmap. At the risk of repeating myself: the PDF form is correctly signed, and the bitmap is correctly placed. It is just not visible.
This problem seems common to users running the application on intranet web servers (IIS 7). The one application instance running on public web server (IIS 7) does not seem affected by this problem.
As mentioned, the GIF file generated by our application has a transparent background. In almost all cases, Adobe Reader (9 and 10) seems to understand and respect the transparency of the bitmap.
In one very peculiar case (when the application is running on a Windows 7 64 bit machine with IIS 7), when the bitmap is placed on the form… it becomes opaque (complete loss of transparency).
Again, the problem seems related to Adobe Reader, because the bitmap being applied positively sports a transparent background.
Thanks for following this far… any suggestions?
You will do better asking in the Acrobat SDK forum.