Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Printing to PDF from Chrome results in mal-formatted pdf with broken links #110

Open
stephffuller opened this issue Jul 5, 2024 · 1 comment

Comments

@stephffuller
Copy link

stephffuller commented Jul 5, 2024

Trying to print from Chrome 126.0.6478.127 results in a pdf with links that redirect to the wrong sections (pages) and, if the book is long enough, an "a number is out of range" error message from Adobe Acrobat.

image

image

I did try creating a new minimal mkdocs site, and the TOC links still redirected to the wrong pages in the pdf, but that site (just one section of our user guide) was not long enough to trigger the number out of range error.

mkdocs.yml below without our entire nav section. Note that the nav works on the mkdocs-generated site and on the print-site.html page, it just isn't working in the pdf.

site_name: User Guide
dev_addr: "127.0.0.1:7984"
# Add repository metadata for more integration and ease-of-use
repo_name: Github
edit_uri: "docs/"
theme:
  name: material
#  palette:
#
#    # Palette toggle for automatic mode
#    - media: "(prefers-color-scheme)"
#      toggle:
#        icon: material/brightness-auto
#        name: Switch to light mode
#
    # Palette toggle for light mode
#    - media: "(prefers-color-scheme: light)"
#      scheme: default 
#      toggle:
#        icon: material/brightness-7
#        name: Switch to dark mode

    # Palette toggle for dark mode
#    - media: "(prefers-color-scheme: dark)"
#      scheme: slate
#      toggle:
#        icon: material/brightness-4
#        name: Switch to system preference
  custom_dir: docs/overrides
  features:
    - navigation.sections
    - navigation.path
    - navigation.instant
    - navigation.tracking
    - navigation.top
    - navigation.prune
    - navigation.indexes
    - search.suggest
    - search.highlight
    - content.tabs.link
    - content.code.copy
    - content.tooltips
  language: en
  logo: stylesheets/logo-dark-bkg.png  
  font:
    text: "IBM Plex Sans"
    code: "Roboto Mono"
extra_css:
  - stylesheets/extra.css
  - stylesheets/neoteroi-mkdocs.css
plugins:
  - search
  - git-revision-date
  - macros
  - mkdocs-video
  - offline
  - autorefs
  - print-site:
      enabled: !ENV [ENABLED_PRINT_SITE, False]
      exclude:
        - appendices/DEPENDENCIES.md
        - appendices/oss-licenses.md
        - appendices/mitre-attack.md
        - appendices/bundled-servers.md
        - start-here/video-list.md
      add_full_urls: false
      enumerate_headings: false
      print_site_banner_template: docs/stylesheets/print_site_banner.tpl
      add_cover_page: true
      cover_page_template: docs/stylesheets/front.tpl
      add_print_site_banner: true
markdown_extensions:
  - toc:
      toc_depth: 0
      permalink: "🔗"
  - abbr
  - pymdownx.highlight
  - pymdownx.inlinehilite
  - pymdownx.snippets
  - admonition
  - footnotes
  - neoteroi.cards
  - pymdownx.details
  - pymdownx.mark
  - pymdownx.smartsymbols
  - pymdownx.keys
  - pymdownx.tabbed
  - pymdownx.tasklist
  - attr_list
  - md_in_html
  - pymdownx.superfences
exclude_docs: |
  node_modules
  .DS_Store
  npm-debug.log
  dist
  styles
    *.py
  site/
  .gitignore
  start-here/release-notes.md
  old/*
validation:
  links:
    absolute_links: warn
    anchors: warn
    unrecognized_links: warn
nav:
  - Start Here:
      - index.md

@stephffuller
Copy link
Author

stephffuller commented Jul 8, 2024

These were all working in late May with our same environment, but by early June, the pdf links quit working correctly. I suspect a Chrome update broke something, as I hadn't upgraded the other tools until I ran into this issue, and it broke anyway.

I tried upgrading mkdocs, mkdocs-material, Acrobat, and mkdocs-print-site-plugin, but no change. Current versions are:

mkdocs --version
mkdocs, version 1.6.0 from /Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/mkdocs (Python 3.12)

pip3 show mkdocs-material
Name: mkdocs-material
Version: 9.5.28
Summary: Documentation that simply works
Home-page:
Author:
Author-email: Martin Donath [email protected]
License:
Location: /Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages
Requires: babel, colorama, jinja2, markdown, mkdocs, mkdocs-material-extensions, paginate, pygments, pymdown-extensions, regex, requests
Required-by: mkdocs-exporter, mkdocs-print-site-plugin

pip3 show mkdocs-print-site-plugin
Name: mkdocs-print-site-plugin
Version: 2.5.0
Summary: MkDocs plugin that combines all pages into one, allowing for easy export to PDF and standalone HTML.
Home-page: https://github.com/timvink/mkdocs-print-site-plugin
Author: Tim Vink
Author-email: [email protected]
License: MIT
Location: /Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages
Requires: mkdocs-material
Required-by:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant