Class: Pocketbook::BookRenderer::Pdf
- Inherits:
-
Object
- Object
- Pocketbook::BookRenderer::Pdf
- Defined in:
- lib/pocketbook/book_renderer/pdf.rb
Instance Method Summary collapse
Instance Method Details
#toc_page_numbers(pdf_path:, toc_targets:) ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/pocketbook/book_renderer/pdf.rb', line 27 def toc_page_numbers(pdf_path:, toc_targets:) return {} if toc_targets.empty? pdf_document_for(pdf_path).toc_page_numbers(toc_targets) rescue StandardError {} end |
#write(html:, output_path:) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/pocketbook/book_renderer/pdf.rb', line 8 def write(html:, output_path:) Dir.mktmpdir("pocketbook") do |dir| html_path = File.join(dir, "book.html") File.write(html_path, html) browser = Ferrum::Browser.new(timeout: 30) page = browser.create_page page.go_to("file://#{html_path}") page.network.wait_for_idle page.pdf( path: output_path, print_background: true, prefer_css_page_size: true ) ensure browser&.quit end end |