{"id":8343,"date":"2021-04-08T18:11:02","date_gmt":"2021-04-08T16:11:02","guid":{"rendered":"https:\/\/monodes.com\/predaelli\/?p=8343"},"modified":"2021-04-08T18:11:02","modified_gmt":"2021-04-08T16:11:02","slug":"beautiful-pdfs-from-html","status":"publish","type":"post","link":"https:\/\/monodes.com\/predaelli\/2021\/04\/08\/beautiful-pdfs-from-html\/","title":{"rendered":"Beautiful PDFs from HTML"},"content":{"rendered":"<h1><em><a href=\"https:\/\/pdf.math.dev\/\">Beautiful PDFs from HTML<\/a><a href=\"https:\/\/pdf.math.dev\/\"><img data-recalc-dims=\"1\" decoding=\"async\" class=\"alignnone size-full\" src=\"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2021\/04\/chrome.png?w=910&#038;ssl=1\" alt=\"\" \/><\/a><a href=\"https:\/\/pdf.math.dev\/\"><img data-recalc-dims=\"1\" decoding=\"async\" class=\"alignnone size-full\" src=\"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2021\/04\/safari.png?w=910&#038;ssl=1\" alt=\"\" \/><\/a><\/em><\/h1>\n","protected":false},"excerpt":{"rendered":"<p class=\"excerpt\">Beautiful PDFs from HTML<\/p>\n<p class=\"more-link-p\"><a class=\"more-link\" href=\"https:\/\/monodes.com\/predaelli\/2021\/04\/08\/beautiful-pdfs-from-html\/\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"link","meta":{"inline_featured_image":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[18,46],"tags":[],"class_list":["post-8343","post","type-post","status-publish","format-link","hentry","category-themes","category-web","post_format-post-format-link"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6daft-2az","jetpack-related-posts":[{"id":3220,"url":"https:\/\/monodes.com\/predaelli\/2017\/07\/17\/masonry\/","url_meta":{"origin":8343,"position":0},"title":"Masonry","author":"Paolo Redaelli","date":"2017-07-17","format":"link","excerpt":"\u00a0 Masonry, a Cascading grid layout library is used in the theme I currently use (Carton). Shall use it for my forthcoming \"Basilica\" Theme","rel":"","context":"In &quot;HTML&quot;","block_context":{"text":"HTML","link":"https:\/\/monodes.com\/predaelli\/category\/html\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":9782,"url":"https:\/\/monodes.com\/predaelli\/2022\/11\/05\/digitize-books-searchable-ocr-pdf-with-text-overlay-from-scanned-or-photographed-books-on-linux-michael-franzl\/","url_meta":{"origin":8343,"position":1},"title":"Digitize books: Searchable OCR PDF with text overlay from scanned or photographed books on Linux &#8211; Michael Franzl","author":"Paolo Redaelli","date":"2022-11-05","format":false,"excerpt":"Step-by-step tutorial to digitize books. Produce searchable OCR PDFs with a selectable text overlay from a hardcopy book using Linux free software. Source: Digitize books: Searchable OCR PDF with text overlay from scanned or photographed books on Linux - Michael Franzl","rel":"","context":"In &quot;Senza categoria&quot;","block_context":{"text":"Senza categoria","link":"https:\/\/monodes.com\/predaelli\/category\/senza-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":12133,"url":"https:\/\/monodes.com\/predaelli\/2024\/12\/19\/is-html-a-programming-language-webbed-briefs\/","url_meta":{"origin":8343,"position":2},"title":"Is HTML A Programming Language? (Webbed Briefs)","author":"Paolo Redaelli","date":"2024-12-19","format":false,"excerpt":"Today I stumbled into this Fediverse post: A great conversation in the supporter Discord\/Matrix reminded me that it's about time to share this fantastic item by @heydon. Anyway, yes HTML is a programming language and folks who argue with this statement in my comments will be muted, blocked, defederated, or\u2026","rel":"","context":"In &quot;Ethics&quot;","block_context":{"text":"Ethics","link":"https:\/\/monodes.com\/predaelli\/category\/ethics\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":12892,"url":"https:\/\/monodes.com\/predaelli\/2025\/03\/06\/how-to-download-all-pdf-files-linked-from-a-single-page-using-wget\/","url_meta":{"origin":8343,"position":3},"title":"How to download all PDF files linked from a single page using wget","author":"Paolo Redaelli","date":"2025-03-06","format":false,"excerpt":"You can use wget to download all PDFs from a webpage by using: wget -r -l1 -H -t1 -nd -N -np -A.pdf -erobots=off --wait=2 --random-wait --limit-rate=20k [URL] -r: Recursive download. -l1: Only one level deep (i.e., only files directly linked from this page). -H: Span hosts (follow links to other\u2026","rel":"","context":"In &quot;Tricks&quot;","block_context":{"text":"Tricks","link":"https:\/\/monodes.com\/predaelli\/category\/documentations\/tricks\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":13702,"url":"https:\/\/monodes.com\/predaelli\/2025\/07\/12\/pandoc-templates\/","url_meta":{"origin":8343,"position":4},"title":"Pandoc templates","author":"Paolo Redaelli","date":"2025-07-12","format":false,"excerpt":"I have been using pandoc recently; of course the default MarkDown to pdf style is rather neutral, I looked for some theming. LornaJane on her blog already wrote about Generating a nice-looking PDF with Pandoc. Of course I knew it may exist: pandoc-templates.org","rel":"","context":"In &quot;Senza categoria&quot;","block_context":{"text":"Senza categoria","link":"https:\/\/monodes.com\/predaelli\/category\/senza-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":11939,"url":"https:\/\/monodes.com\/predaelli\/2024\/09\/28\/quarto\/","url_meta":{"origin":8343,"position":5},"title":"Quarto","author":"Paolo Redaelli","date":"2024-09-28","format":false,"excerpt":"Quarto\u00ae An open-source scientific and technical publishing system Author using Jupyter notebooks or with plain text markdown in your favorite editor. Create dynamic content with Python, R, Julia, and Observable. Publish reproducible, production quality articles, presentations, dashboards, websites, blogs, and books in HTML, PDF, MS Word, ePub, and more. Share\u2026","rel":"","context":"In &quot;Senza categoria&quot;","block_context":{"text":"Senza categoria","link":"https:\/\/monodes.com\/predaelli\/category\/senza-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/8343","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/comments?post=8343"}],"version-history":[{"count":0,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/8343\/revisions"}],"wp:attachment":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/media?parent=8343"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/categories?post=8343"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/tags?post=8343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}