C# to Delphi code translation for Amyuni HTML to PDF sample

I have downloaded free Amyuni WebkitPDF from here:

The example that comes with it is written in C# and I need to translate it to Delphi 7.

As the minimum, I need a working code in Delphi 7 that will:

1. Open URL or local HTML file
2. Save it to a PDF file.

or using the dll calls:

1. WKPDFInitialize
3. WKPDFSaveToFile
4. WKPDFTerminate
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Sinisa VukCommented:
Try this:

function WKPDFInitialize(license: WideString; key: WideString): Integer; stdcall external 'WebKit.dll';
function WKPDFTerminate(): Integer; stdcall external 'WebKit.dll';
function WKPDFOpenURL(url: WideString; var context: Pointer; pageRenderingOptions: Integer; isJavaScriptEnabled: Boolean): Integer; stdcall external 'WebKit.dll';
function WKPDFSaveToFile(fileName: WideString; context: Pointer): Integer; stdcall external 'WebKit.dll';
function WKPDFCloseContext(context: Pointer): Integer; stdcall external 'WebKit.dll';

ptr: Pointer;
if WKPDFInitialize('', '')<>0 then Exit;
ptr := nil;
if WKPDFOpenURL('http://www.google.com', ptr, 0, False)<>0 then Exit;
if ptr<>nil then
   WKPDFSaveToFile('c:\eee.pdf', ptr);


Open in new window


Experts Exchange Solution brought to you by ConnectWise

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
gragaAuthor Commented:
Thanks for the solution. It works fine on web pages, but I can't make it work on local files, like  'file:\\\c:\test.html'. The C# example works fine for local files. Can you look into it as well?
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.