Correction de la version HTML

Ajout d'un titre sur la première page, mais qui n'est pas pris en compte dans la hiérarchie globale
Ajout d'un fichier custom.css pour les règles communes à la version PDF et HTML
Limitation de la profondeur de titres affichés dans la table des matières sur la première page de la version HTML
This commit is contained in:
Youen 2023-05-11 20:37:27 +02:00
parent 995daaeff9
commit 2d601e71b7
6 changed files with 53 additions and 34 deletions

View file

@ -15,7 +15,8 @@ css_filename = source_dir + '/css/print-theme.css'
script_dir = os.path.dirname(__file__)
# Compile PDF
assert(subprocess.run(['weasyprint', build_dir + '/weasyprint/index.html', index_pdf_filename, '-s', css_filename]).returncode == 0)
pdf_compile_command = ['weasyprint', build_dir + '/weasyprint/index.html', index_pdf_filename, '-s', source_dir + '/_static/custom.css', '-s', css_filename]
assert(subprocess.run(pdf_compile_command).returncode == 0)
# Generate table of content (TOC)
assert(subprocess.run(['sh', '-c', script_dir + '/../pdftoc-to-latex "' + index_pdf_filename + '" > "' + build_dir + '/weasyprint/toc.tex"']).returncode == 0)
@ -49,7 +50,7 @@ if modified_css != original_css:
# We need to compile again with the modified CSS (this won't impact the TOC)
print('Number of pages has changed, rebuilding PDF...')
assert(subprocess.run(['weasyprint', build_dir + '/weasyprint/index.html', index_pdf_filename, '-s', css_filename]).returncode == 0)
assert(subprocess.run(pdf_compile_command).returncode == 0)
# Insert TOC in the PDF
assert(subprocess.run(['pdftk', 'A='+index_pdf_filename, 'B='+build_dir+'/weasyprint/toc.pdf', 'cat', 'A1-'+str(insert_toc_after_page), 'B', 'A'+str(insert_toc_after_page+1)+'-end', 'output', build_dir + '/weasyprint/vheliotech-without-bookmarks.pdf']).returncode == 0)