Yan Cui
I help clients go faster for less using serverless technologies.
I spent the last couple of nights putting together a simple Markdown to PDF formatter using Tomas Petricek’s FSharp.Formatting project and the PdfSharp-MigraDoc library.
To use this library, you can either grab the source from the GitHub repository or get it from Nuget using the following command:
F# Usage
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.
C# Usage
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.
You can see an example output here with the corresponding Markdown here.
Whenever you’re ready, here are 4 ways I can help you:
- If you want a one-stop shop to help you quickly level up your serverless skills, you should check out my Production-Ready Serverless workshop. Over 20 AWS Heroes & Community Builders have passed through this workshop, plus 1000+ students from the likes of AWS, LEGO, Booking, HBO and Siemens.
- If you want to learn how to test serverless applications without all the pain and hassle, you should check out my latest course, Testing Serverless Architectures.
- If you’re a manager or founder and want to help your team move faster and build better software, then check out my consulting services.
- If you just want to hang out, talk serverless, or ask for help, then you should join my FREE Community.
Pingback: Customizing document styles with FSharp.Markdown.Pdf | theburningmonk.com
Pingback: Year in Review, 2013 | theburningmonk.com