pdfwp: Python写的开源的WordPress PDF文摘生成器
前几天给《博客李淼》写了一个文摘生成器,能让读者选择喜欢的文章装订起来生成PDF文档,主要是为了提供支持数学公式的效果更好的打印功能。支持繁体和简体,并能生成 UTF-8/GBK/Big5格式的 LaTeX 源代码。(其实生成的顺序是先有LaTeX源码这只鸡,再有PDF这个蛋)。
今天中午简单整理了一下放在了google code上遵循GPLv3发布:
http://code.google.com/p/pdfwp/
系统要求和怎样安装都在里面了,就不多说了。代码只有500多行,写的比较乱,没注释,基本属于write-only,不过可以用。
原理是这样的:首先Python脚本从WP的数据库里把帖子标题和内容提取出来,除去HTML tag后做符合LaTeX语法的转换并写入到一个LaTeX源文件,然后调用iconv和zh-autoconvert进行编码和繁简转换,最后调用texlive的pdflatex将LaTeX源文件编译生成简体和繁体的PDF文件。
得感谢TeX不是一种WYSIWYG的文档格式,从帖子到LaTeX源码的转换只要集中注意力在内容的逻辑结构上即可。另外,写脚本花的时间还不如配置TeX系统的时间长,配置了N种Free的CJK字体显示都不理想(主要是宋体过细),最后无耻地从CTeX套装的texmflocal目录里把字体裸拷出来复制到~/texmf中然后updmap就搞定了简体。但繁体字还是有极少数的缺字,因为Debian上默认的繁体UTF-8文鼎字体bsmi字库不全,只能靠使用者下载LaTeX源文件自己编译了。
阅读(1169 次)

三月 10th, 2008 at 5:05 下午
呵呵,功能很强啊!
三月 10th, 2008 at 8:12 下午
其实很一般了,有不少需要改进的地方,不过能用就好,懒得改了。
三月 10th, 2008 at 11:59 下午
iconv和zhconvert都可以在python里完成(我这儿有一份简繁转化的代码片段)。latex的中文实在很麻烦,几百年前我曾经搞定过。不过现在实际使用的tex衍生系统一大堆,搞定的方法也跟着变化了……
三月 11th, 2008 at 11:35 上午
Python应该可以完成,我没试过,不过效率应该狂低。我本来写了一段函数把LaTeX的源文件autowrap,不过当文件有几百K的时候,需要几秒才能完成,所以放弃了。Python的繁简转换应该比C的效率差很多吧。
据说现在有一种xetex,可以无需配置字体,直接使用操作系统中的字体。
三月 22nd, 2008 at 1:19 上午
作为开源的工具,做到这个程度已经很棒了。
三月 23rd, 2008 at 11:17 上午
谢谢!
十月 24th, 2008 at 12:05 下午
Interesting to know.