PythonでPDFでの日本語表示について
Pythonで日本語のMarkdownファイルをPDFに吐き出すコードを書いてるのですが日本語ファイルだと文字化けしてしまってうまく行きません誰かおしえてもらえると嬉しいです。
ソールコードはこれです。
#coding utf-8
import markdown
import sys
import os
from PyQt4.QtCore import QUrl
from PyQt4.QtGui import QApplication, QPrinter
from PyQt4.QtWebKit import QWebView
app = QApplication(sys.argv)
web = QWebView()
printer = QPrinter()
def load_finished():
global web
global printer
web.print_(printer)
QApplication.exit()
def md2html(_fileName):
md=markdown.Markdown()
tmpText = u'<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"></head><body>'
text=""
for i in open(_fileName,"r"):
text+=unicode(i,'utf-8')
text=md.convert(text)
tmpText+=text+u"</body></html>"
fn=open("test.html","w")
fn.write(text.encode("utf-8"))
fn.close()
def html2pdf():
global app
printer.setOutputFormat(QPrinter.PdfFormat)
printer.setOrientation(QPrinter.Landscape)
printer.setPageSize(QPrinter.A4)
printer.setResolution(QPrinter.HighResolution)
printer.setOutputFileName('test.pdf')
web.loadFinished.connect(load_finished)
web.load(QUrl.fromLocalFile(os.path.abspath('test.html')))
sys.exit(app.exec_())
md2html("aaa.md")
html2pdf()
まだ文字コードらへんについてわかってない点も多いのでアドバイスいただけるとありがたいです。