

Pythonで日本語のMarkdownファイルをPDFに吐き出すコードを書いてるのですが日本語ファイルだと文字化けしてしまってうまく行きません誰かおしえてもらえると嬉しいです。  
ソールコードはこれです。

[code]

    #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()
    
[/code]

まだ文字コードらへんについてわかってない点も多いのでアドバイスいただけるとありがたいです。

[![画像の説明をここに入力](https://i.stack.imgur.com/J4odt.png)](https://i.stack.imgur.com/J4odt.png)  
PDFはこんな感じです。  
実際には「テスト」と表示させたいです。


CC BY-SA 3.0
2015-11-21T17:43:32.157
19144
2015-12-21T19:31:19.430
2015-11-21T18:32:47.137
13330
13330
question
python
PythonでPDFでの日本語表示について


ここのコードだけ見ると、tmpTextの内容が出力に反映されていなさそうです。  
tmpTextに文字コード指定を入れているようなので、これが原因かもしれないですね。  
確認して見て下さい。

[code]

    tmpText+=text+"</body></html>"
    fn=open("test.html","w")
    fn.write(text.encode("utf-8"))
    
[/code]


CC BY-SA 3.0
2015-11-21T18:06:42.573
19145
2015-11-21T18:06:42.573
3054
19144
answer