pisa と python を使用して、html ドキュメントを pdf ファイルに変換しようとしています。小さなhtmlコードでは問題なく動作します。しかし、google.com の html データ、または実際には大きな html ファイルを渡すと、このエラーが発生します。
html を pdf に変換するコードは次のとおりです。
import ho.pisa as pisa
import sys
import os
ls =[]
for arg in sys.argv:
ls.append(arg)
pisa.showLogging()
print ls
html_file = open(ls[1])
HTML = html_file.read()
filename = os.path.basename(str(ls[1]))
print filename
str(os.getcwd()+filename)
pdfFile =open(str(os.getcwd()+filename), "wb")
pdf = pisa.CreatePDF(HTML,pdfFile)
if not pdf.err:
print "ds"
pisa.startViewer(filename)
pdfFile.close()
html_file.close()
そして、これはスローされるエラーです:
ERROR [ho.pisa] C:\Python27\lib\site-packages\sx\pisa3\pisa_document.py line 223: Document error
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\sx\pisa3\pisa_document.py", line 128, in pisaDocument
c = pisaStory(src, path, link_callback, debug, default_css, xhtml, encoding,
c=c, xml_output=xml_output)
File "C:\Python27\lib\site-packages\sx\pisa3\pisa_document.py", line 73, in pisaStory
pisaParser(src, c, default_css, xhtml, encoding, xml_output)
File "C:\Python27\lib\site-packages\sx\pisa3\pisa_parser.py", line 626, in pisaParser
c.parseCSS()
File "C:\Python27\lib\site-packages\sx\pisa3\pisa_context.py", line 545, in parseCSS
self.css = self.cssParser.parse(self.cssText)
File "C:\Python27\lib\site-packages\sx\w3c\cssParser.py", line 358, in parse
src, stylesheet = self._parseStylesheet(src)
File "C:\Python27\lib\site-packages\sx\w3c\cssParser.py", line 453, in _parseStylesheet
src, atResults = self._parseAtKeyword(src)
File "C:\Python27\lib\site-packages\sx\w3c\cssParser.py", line 577, in _parseAtKeyword
src, result = self._parseAtIdent(src)
File "C:\Python27\lib\site-packages\sx\w3c\cssParser.py", line 722, in _parseAtIdent
src, stylesheet = self._parseStylesheet(src)
File "C:\Python27\lib\site-packages\sx\w3c\cssParser.py", line 458, in _parseStylesheet
src, ruleset = self._parseRuleset(src)
File "C:\Python27\lib\site-packages\sx\w3c\cssParser.py", line 737, in _parseRuleset
src, properties = self._parseDeclarationGroup(src.lstrip())
File "C:\Python27\lib\site-packages\sx\w3c\cssParser.py", line 922, in _parseDeclarationGroup
raise self.ParseError('Declaration group closing \'}\' not found', src, ctxsrc)
CSSParseError: Declaration group closing '}' not found:: (u'{', u'0%{opacity:0}50%{opa')
Traceback (most recent call last):
File "trypdf.py", line 16, in <module>
pdf = pisa.CreatePDF(HTML,pdfFile)
File "C:\Python27\lib\site-packages\sx\pisa3\pisa_document.py", line 128, in pisaDocument
c = pisaStory(src, path, link_callback, debug, default_css, xhtml, encoding,
c=c, xml_output=xml_output)
File "C:\Python27\lib\site-packages\sx\pisa3\pisa_document.py", line 73, in pisaStory
pisaParser(src, c, default_css, xhtml, encoding, xml_output)
File "C:\Python27\lib\site-packages\sx\pisa3\pisa_parser.py", line 626, in pisaParser
c.parseCSS()
File "C:\Python27\lib\site-packages\sx\pisa3\pisa_context.py", line 545, in parseCSS
self.css = self.cssParser.parse(self.cssText)
File "C:\Python27\lib\site-packages\sx\w3c\cssParser.py", line 358, in parse
src, stylesheet = self._parseStylesheet(src)
File "C:\Python27\lib\site-packages\sx\w3c\cssParser.py", line 453, in _parseStylesheet
src, atResults = self._parseAtKeyword(src)
File "C:\Python27\lib\site-packages\sx\w3c\cssParser.py", line 577, in _parseAtKeyword
src, result = self._parseAtIdent(src)
File "C:\Python27\lib\site-packages\sx\w3c\cssParser.py", line 722, in _parseAtIdent
src, stylesheet = self._parseStylesheet(src)
File "C:\Python27\lib\site-packages\sx\w3c\cssParser.py", line 458, in _parseStylesheet
src, ruleset = self._parseRuleset(src)
File "C:\Python27\lib\site-packages\sx\w3c\cssParser.py", line 737, in _parseRuleset
src, properties = self._parseDeclarationGroup(src.lstrip())
File "C:\Python27\lib\site-packages\sx\w3c\cssParser.py", line 922, in _parseDeclarationGroup
raise self.ParseError('Declaration group closing \'}\' not found', src, ctxsrc)
sx.w3c.cssParser.CSSParseError: Declaration group closing '}' not found:: (u'{', u'0%{opacity:0}50%{opa')