Youen 2 years ago
parent
commit
1e1fb9c195
  1. 16
      Makefile
  2. 5
      sphinx-tools/count_pdf_pages.py
  3. 3
      sphinx-tools/update_pdf_bookmarks.py

16
Makefile

@ -28,11 +28,11 @@ help:
# Finally, we generate the final PDF by adding the bookmarks (for easier navigation in the PDF)
# After all, clean up
pdf: weasyprint
weasyprint build/weasyprint/index.html build/weasyprint/index.pdf -s source/css/print-theme.css
python3 sphinx-tools/count_pdf_pages.py
weasyprint build/weasyprint/index.html build/weasyprint/index.pdf -s source/css/print-theme.css
./pdftoc-to-latex build/weasyprint/index.pdf > build/weasyprint/toc.tex
- pdflatex -interaction nonstopmode -output-directory=build/weasyprint build/weasyprint/toc.tex
pdftk A=build/weasyprint/index.pdf B=build/weasyprint/toc.pdf cat A1 B A2-end output build/weasyprint/vheliotech-without-bookmarks.pdf
python3 sphinx-tools/update_pdf_bookmarks.py build/weasyprint/index.pdf build/weasyprint/vheliotech-without-bookmarks.pdf build/weasyprint/vheliotech.pdf
#rm build/weasyprint/index.pdf build/weasyprint/toc.tex build/weasyprint/toc.pdf build/weasyprint/GuidedemontageVheliotech.pdf
weasyprint "$(BUILDDIR)/weasyprint/index.html" "$(BUILDDIR)/weasyprint/index.pdf" -s "$(SOURCEDIR)/css/print-theme.css"
python3 sphinx-tools/count_pdf_pages.py "$(BUILDDIR)/weasyprint/index.pdf" "$(SOURCEDIR)/css/print-theme.css"
weasyprint "$(BUILDDIR)/weasyprint/index.html" "$(BUILDDIR)/weasyprint/index.pdf" -s "$(SOURCEDIR)/css/print-theme.css"
./pdftoc-to-latex "$(BUILDDIR)/weasyprint/index.pdf" > "$(BUILDDIR)/weasyprint/toc.tex"
- pdflatex -interaction nonstopmode "-output-directory=$(BUILDDIR)/weasyprint" "$(BUILDDIR)/weasyprint/toc.tex"
pdftk "A=$(BUILDDIR)/weasyprint/index.pdf" "B=$(BUILDDIR)/weasyprint/toc.pdf" cat A1 B A2-end output "$(BUILDDIR)/weasyprint/vheliotech-without-bookmarks.pdf"
python3 sphinx-tools/update_pdf_bookmarks.py "$(BUILDDIR)/weasyprint/index.pdf" "$(BUILDDIR)/weasyprint/vheliotech-without-bookmarks.pdf" "$(BUILDDIR)/weasyprint/vheliotech.pdf"
#rm "$(BUILDDIR)/weasyprint/index.pdf" "$(BUILDDIR)/weasyprint/toc.tex" "$(BUILDDIR)/weasyprint/toc.pdf" "$(BUILDDIR)/weasyprint/GuidedemontageVheliotech.pdf"

5
sphinx-tools/count_pdf_pages.py

@ -1,8 +1,9 @@
import subprocess
import re
import sys
pdf_filename = 'build/weasyprint/index.pdf'
css_filename = 'source/css/print-theme.css'
pdf_filename = sys.argv[1]
css_filename = sys.argv[2]
additional_pages = 2
# count pages in index.pdf

3
sphinx-tools/update_pdf_bookmarks.py

@ -18,7 +18,8 @@ with open(bookmarks_filename) as bookmarks_file:
# Offset page numbers
def replaceBookmarkPageNumber(match):
initial_page = int(match.group(1))
return 'BookmarkPageNumber: ' + str(initial_page + 2)
final_page = initial_page + 2 if initial_page > 1 else initial_page
return 'BookmarkPageNumber: ' + str(final_page)
metadata = re.sub('BookmarkPageNumber:\s+([0-9]+)', replaceBookmarkPageNumber, metadata)
with open(bookmarks_filename, 'w') as bookmarks_file:

Loading…
Cancel
Save