To use the library from F#, you can use the Markdown type defined in the FSharp.Markdown namespace (from the FSharp.Formating library), once you’ve opened the FSharp.Markdown.Pdf namespace you’ll have access to two static extension methods:
- TransformPdf – accepts a string as input and outputs the resulting PDF to a local file path or to a specified Stream.
- WritePdf – accepts a MarkdownDocument generated by the Markdown.Parse method, and outputs the resulting PDF to a local file path or to a specified Stream.
You can also use this library from C#, however, the static extension methods mentioned above is not accessible in C# because type extensions defined in F# are compiled differently to standard extension methods you find in C# (with far more possibilities I might add, such as extension properties, and static methods, for instance!) and is not recognized by the C# compiler..
You can still access the same functionalities using a MarkdownPdf type, with two static methods:
- Transform – equivalent to Markdown.TransformPdf.
- Write – equivalent to Markdown.WritePdf.
I’m an AWS Serverless Hero and the author of Production-Ready Serverless. I have run production workload at scale in AWS for nearly 10 years and I have been an architect or principal engineer with a variety of industries ranging from banking, e-commerce, sports streaming to mobile gaming. I currently work as an independent consultant focused on AWS and serverless.
Here is a complete list of all my posts on serverless and AWS Lambda. In the meantime, here are a few of my most popular blog posts.
- Lambda optimization tip – enable HTTP keep-alive
- You are thinking about serverless costs all wrong
- Many faced threats to Serverless security
- We can do better than percentile latencies
- I’m afraid you’re thinking about AWS Lambda cold starts all wrong
- Yubl’s road to Serverless
- AWS Lambda – should you have few monolithic functions or many single-purposed functions?
- AWS Lambda – compare coldstart time with different languages, memory and code sizes
- Guys, we’re doing pagination wrong