質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

0回答

502閲覧

Python pdfkit pdfに埋め込んだリンクに相対パスを指定できない

tomomo-MT

総合スコア0

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2022/11/10 11:25

前提

python 3.10
pdfkit==1.0.0

実現したいこと

pdfkitを使って"test.html"を"abc.pdfへの相対パスのリンクを埋め込んだtest.pdf"に変換し,test.pdfからabc.pdfを開きたいです.

ディレクトリ構成
test/
├ test.py
├ test.html
├ test.pdf ← abc.pyへの相対パスのリンクを埋め込んだpdf
└ abc.pdf ←test.py中のリンクをクリックして開きたいpdfファイル  

発生している問題・エラーメッセージ

test.html中の<a href="">でabc.pdfへの相対パス"./abc.pdf"を指定しているのですが,pdf化してtest.pdf中のリンクをクリックするとfile:///C:/Users/名前/AppData/Local/Temp/abc.pdfへのリンクになります。

該当のソースコード

test.py

1wkhtmltopdf = r"C:/Program Files/wkhtmltopdf/bin/wkhtmltopdf.exe" 2config = pdfkit.configuration(wkhtmltopdf=wkhtmltopdf) 3pdfkit.from_file("test.html", "test.pdf", 4 configuration=config, 5 options={ 6 'orientation': 'Portrait', 7 'encoding': "UTF-8", 8 'no-outline': None, 9 'quiet': '', 10 "enable-local-file-access": "" 11 } 12 )

test.html

1<html lang="ja"> 2<head> 3<meta charset="UTF-8"> 4</head> 5<body> 6<div> 7<p> 8<a href="./abc.pdf">あいうえお</a> 9</p> 10</div> 11</body> 12</html>

作成したtest.pdf中のリンクをクリックすると
file:///C:/Users/名前/AppData/Local/Temp/abc.pdf
にリンクが飛んでおりabc.pdfファイルが開けませんでした

試したこと

test.html

1<a href="C:/Users/名前/Desktop/test/abc.pdf">あいうえお</a>

上のように絶対パスを指定するとリンク先はabc.pdfになっており,abc.pdfが開けました。

しかし,<a href="">に相対パスを指定したいです。

解決策がありましたら、回答のほどよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問