0

So, I know this is atrocious, but can I expect to get the Acrobat FDF Toolkit, for which the latest documentation I can find was released in October 2003, to work on Windows Server 2016?

From the SysWOW64 directory, I have run regsvr32 for the binary, which I have placed in it's own directory in the root of the C drive. It indicated success, and I can see evidence of that in the registry. However, when I try to navigate to a simple ASP Classic page that utilizes this library, it fails on this line:

Set FdfAcX = Server.CreateObject("FdfApp.FdfApp")

with the error message:

Microsoft VBScript runtime error '800a01ad'

ActiveX component can't create object

This page claims this error is induced when the IUSR_computer and IWAM_computer do not have read permissions to the directory of the binary. I believe I have provided those accounts that permission (though the only ones I could find in my case are IUSR_domain and IWAM_domain... ?), but the error persists.

What steps do I need to take to resolve this error?

Gerald
  • 521
  • 1
  • 6
  • 16
  • What exactly are you attempting to do with the FDF toolkit? For basic form filling, you might find it easier to just use XFDF instead of FDF and then you can use standard XML tools. You really only need the FDF Toolkit for more complicated tasks like adding images to button faces. – joelgeraci Aug 08 '18 at 22:04
  • 1
    Possible duplicate of [Error ASP 0177: 8007007e Server.CreateObject fails for COM DLL](https://stackoverflow.com/questions/35976543/error-asp-0177-8007007e-server-createobject-fails-for-com-dll) – user692942 Aug 09 '18 at 01:43
  • Really, all the code is doing is populating 3 fillable fields on a pdf template. Think of a typical "Certificate of Achievement". It populates variations of those templates with name, date, and an ID. We know there must be better ways to do it, but we were not prepared to re-write the code and were hoping to just get this working for the time being. I will check out XFDF though. – Gerald Aug 09 '18 at 14:27
  • No promises, but you may find the answer in this question. There was a windows update about a month ago which affected a lot of old third party components in Classic ASP. https://stackoverflow.com/questions/51289285/how-do-i-properly-instantiate-32-bit-com-objects-in-classic-asp-after-installing – John Aug 09 '18 at 18:34
  • I would give that a try, but we are using Server 2016. – Gerald Aug 10 '18 at 14:24
  • It's relevant to Server 2016. I followed those steps for another component on a 2016 server and it worked – John Aug 11 '18 at 08:53

1 Answers1

1

If you are only filling in fields on a pdf template, you can do it without creating an object. You can do by just kind of filling out the form.

TheFdfPdf.asp: The variables within the parenthesis are names of your fields on your pdf form.

<%
Response.ContentType = "application/vnd.fdf"
PdfTemplateUrl = "http://TheDomain.com/pdfs/ThePdf.pdf"  
SomeTextValue = "This is a test value for some field on a pdf form"
SomeNumber = 789
SomOtherValue = "Groovy"
%>
%FDF-1.2
1 0 obj
<<
/FDF
<<
/Fields [
<< /T (SomeTextValue) /V (<%=SomeTextValue%>) >>
<< /T (SomeNumber) /V (<%=SomeNumber%>) >>  
<< /T (SomOtherValue) /V (<%=SomOtherValue%>) >>
]
/F (<%=PdfTemplateUrl%>) >>
>>
endobj
trailer 
<<  /Root 1 0 R  >> 
%%EOF
Soren
  • 797
  • 5
  • 15
  • 32
  • That's good to know, but when I try and do this, editing the file path and variables to correspond with my pdf and it's fields, then access the page, I get prompted to download an fdf file named _TheFdfPdf.asp.fdf_, rather than the file specified in `PdfTemplateUrl`. What am I doing wrong? – Gerald Aug 17 '18 at 14:38