猫史档案馆


【Python作品分享】新的作品-95【学生党工作室】【作品秀】

用户:KCN_BOYKCN_BOY查看:0 回复:0 评论:0 创建时间:2021-02-06T11:42:08


【作品展示】

center_image

 

【作品介绍】

求点赞

 

【作品源代码】

# G8-2-11 初识reportlab(改造)
from reportlab.pdfgen import canvas
import webbrowser
import os
import time

# 学党出品 必属精品

from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfbase.pdfmetrics import registerFont  # 注册字体
registerFont(TTFont("fangzheng", "fangzheng.TTF"))  
AvailableFonts = c.getAvailableFonts()  # 将可用的字体存入变量

ans_1 = input("是否为中文字体?(是或否)")
if ans_1 == "是":
    c = canvas.Canvas("hello.pdf", pagesize=(300, 300))
    names = ["阿短", "小可", "小茶", "绿豆", "小光", "编程猫"]
    for name in names:
        if name == "编程猫":
            c.setFont("fangzheng", 15)
            c.drawString(133, 150, name)
            break
        else:
            c.setFont("fangzheng", 15)
            c.drawString(135, 150, name)
        c.showPage()  # 保存之前的内容,并且开始新的一页
elif ans_1 == "否":
    print(AvailableFonts)
    fonts = []
    fonts[0] = input("第一个词语的字体(直接输英文):")
    fonts[1] = input("第二个词语的字体(直接输英文):")
    fonts[2] = input("第三个词语的字体(直接输英文):")
    fonts[3] = input("第四个词语的字体(直接输英文):")
    fonts[4] = input("第五个词语的字体(直接输英文):")
    fonts[5] = input("第六个词语的字体(直接输英文):")
    c = canvas.Canvas("hello.pdf", pagesize=(300, 300))
    fonts_srt = [fonts[0], fonts[1], fonts[2], fonts[3]]
    names = ['Aduan', 'Xiaoke', 'Xiaocha',
             'Lvdou', 'Xiaoguang', 'Bianchengmao']
    for name in names:
        if name == 'Bianchengmao':
            c.setFont(fonts[5], 15)
            c.drawString(100, 150, name)
            break
        elif name == "Xiaoguang":
            c.setFont(fonts[4], 15)
            c.drawString(110, 150, name)
        else:
            if name == "Aduan":
                c.setFont(fonts_srt[0], 15)
            if name == "Xiaoke":
                c.setFont(fonts_srt[1], 15)
            if name == "Xiaocha":
                c.setFont(fonts_srt[2], 15)
            if name == "Lvdou":
                c.setFont(fonts_srt[3], 15)
            else:
                pass
            c.drawString(110, 150, name)
        c.showPage()  # 保存之前的内容,并且开始新的一页

for i in range(6):
    print("...")
    time.sleep(len("...") // 6)

c.save()  # 保存pdf文件
webbrowser.open("file://" + os.path.realpath("hello.pdf"))

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页