生成PDF文件时保留原有的行首空格

取出word文档文字内容生成加了目录、标号和页码的PDF文件有个未解决的问题,就是把word文档的内容提取出来放进PDF文件时,word文档里的代码部分,如:

写进PDF文件时变成:

语句print('Forget colon')前的缩进不见了,跟这段有关系的代码是:

           elif docStyle == 'Code':        
           # 普通段落和代码直接填进story,对代码的处理效果不理想
               story.append(Paragraph(para.text, code))

para是word文档的段落对象,para.text取出word文档的段落内容。如果输出para.text的内容可以看出在para.text里是保留缩进的,行首空格(锁进)是在用Paragraph(para.text, code)生成要放在PDF文档的段落对象时被拿掉的。解决办法是将Paragraph改成Preformatted改成:

           elif docStyle == 'Code':      
           # 普通段落和代码直接填进story
               from reportlab.platypus import Preformatted
               story.append(Preformatted(para.text, code))

改用Preformatted()可以保留原来的锁进格式。生成的PDF文档的代码部分长这样:

如果选用的字体相同,会跟word上的代码格式一摸一样的。

文章原链接

http://www.pythonabc.org/index.php/2018-02-03-12-13-46/reportlab?start=23t=23

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇