NotionからPDFをエクスポートする前に、以下のような事前処理を自動で行いたいという目的には、Notion APIを活用したカスタムエクスポートプログラムの作成が適しています。
以下、それぞれの要望に対して、実現の方向性と必要な技術的ヒントをまとめます。
Notion上では1文ごとに改行されたブロックがPDF出力されると、意図しない位置で改ページ・折り返しが発生することがあります。
paragraph
ブロックをまとめて、文末に句点(「。」「?」など)がない場合は前の段落に連結。# Pythonの例(pseudocode)
merged_blocks = []
buffer = ""
for block in blocks:
if block['type'] == 'paragraph':
text = block['paragraph']['text']
if not text.endswith(("。", "!", "?")):
buffer += text + " "
else:
buffer += text
merged_blocks.append(buffer)
buffer = ""
NotionはMermaid記法のコードブロックを表示はできますが、PDF出力時には画像としてレンダリングされないため、内容が欠落する恐れがあります。