当前位置: 首页 > news >正文

洛阳制作网站公司吗百度指数的搜索指数代表什么

洛阳制作网站公司吗,百度指数的搜索指数代表什么,b站免费版,51nb论坛目录 字体导入 画布写入 创建画布对象 写入文本内容 写入图片内容 新增页 画线 表格 保存 模板写入 创建模板对象 段落及样式 表格及样式 画框 图片 页眉页脚 添加图形 构建pdf文件 reportlab库支持创建包含文本、图像、图形和表格的复杂PDF文档。 安装&…

目录

字体导入

画布写入

创建画布对象

写入文本内容

写入图片内容

新增页

画线

表格

保存

模板写入

创建模板对象

段落及样式

表格及样式

画框

图片

页眉页脚

添加图形

 构建pdf文件


reportlab库支持创建包含文本、图像、图形和表格的复杂PDF文档。

安装:pip install reportlab -i https://pypi.tuna.tsinghua.edu.cn/simple

字体导入

在写入中文内容时会出现中文乱码的情况,如下图,所以需要导入对应的字体库,一般Windows系统自带的字体库文件在C:\Windows\Fonts下

from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFontpdfmetrics.registerFont(TTFont('SimSun', 'simsun.ttc'))  # 宋体
pdfmetrics.registerFont(TTFont('华文彩云', 'C:\Windows\Fonts\STCAIYUN.TTF'))

画布写入

reportlab支持画布写入内容和模版框架写入

创建画布对象

from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfgen import canvas
from reportlab.lib import pagesizes, colors
from reportlab.graphics.shapes import Drawing, Rect
from reportlab.platypus import Image, Table, TableStyle
from reportlab.platypus import Paragraph, SimpleDocTemplate
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStylecav = canvas.Canvas(pdf_name)  # pagesize(元组类型)参数可设置页面大小,也可以设置reportlab.lib中的预设值(pagesize=pagesizes.letter)
cav.setAuthor('设置作者测试')
cav.setTitle('设置标题')
cav.setSubject('设置主题')# 导入字体,字体是在Windows系统字体库中存在的数据
pdfmetrics.registerFont(TTFont('SimSun', 'simsun.ttc'))  # 宋体
cav.setFont('SimSun', 10)  # 设置字体和字体大小

写入文本内容

难过的一点,画布写入内容过长(长文本)不会自动换行!!!!

# 写入文字内容
cav.drawString(100, 600, '测试文本数据' * 150)  # 添加文本内容,可设置左边距和下边距
cav.drawCentredString(20, 50, 'test测试' * 100)

写入图片内容

# 写入图片方法1
cav.drawImage(r'E:\桌面\99\测试图片\1.jpg', x=100, y=100, width=50, height=50)  # 插入图片  x,y 为左边距和下边距
# 写入图片方法2
image = Image(r'E:\桌面\99\测试图片\2.jpg', width=300, height=400)
image.drawOn(cav, x=100, y=100)  # 计算图像的尺寸并将其插入到PDF中,x,y 为左边距和下边距

新增页

cav.showPage()  # 新增页面

画线

cav.line(5, 300, 300, 300)
cav.line(5, 5, 300, 5)
cav.line(5, 300, 5, 5)
cav.line(300, 300, 300, 5)
cav.setStrokeColorRGB(100 / 255, 200 / 255, 50 / 255)
cav.line(90, 300, 90, 5)
cav.setStrokeColorRGB(50 / 255, 50 / 255, 50 / 255)

表格

image3 = Image(r'E:\桌面\99\测试图片\3.jpg', width=40, height=40)
data = [['姓名', '性别', '年龄', '图片'], ['张', '男', 32], ['刘', '女', 23], ['马', '男', 24, image3]]
table_style = [('BACKGROUND', (0, 0), (-1, 0), colors.aqua),  # 设置标题背景色('TEXTCOLOR', (0, 0), (-1, 0), (50 / 255, 200 / 255, 100 / 255)),  # 设置文本颜色('ALIGN', (0, 0), (-1, -1), 'CENTER'),  # 设置对齐方式('FONTNAME', (0, 0), (-1, -1), 'SimSun'),  # 设置字体('BOTTOMPADDING', (0, 0), (-1, 0), 20),('BACKGROUND', (0, 1), (-1, -1), colors.azure),('GRID', (0, 0), (-1, -1), 2, colors.blue)  # 设置网格及网格样式  ,2为表格宽度
]table = Table(data, 100, 50)  # 可指定表格大小
table.setStyle(table_style)
table.wrapOn(cav, 0, 0)
table.drawOn(cav, 50, 500)

保存

cav.save()

模板写入

创建模板对象

doc = SimpleDocTemplate(pdf_name)

段落及样式

ParagraphStyle: 段落支持大多数样式的设置,可见源码

# 设置段落样式
p_style = getSampleStyleSheet()['Normal']
par_style1 = ParagraphStyle(name='p_style1', parent=p_style, fontName='SimSun', spaceAfter=10, spaceBefore=10)
par_style2 = ParagraphStyle(name='p_style2', parent=p_style, fontName='华文彩云',fontSize=15, spaceAfter=30, spaceBefore=30)
# 添加段落
par1 = Paragraph('duanluo段落11' * 20, par_style1)
par2 = Paragraph('duanluo段落2' * 20, par_style2)

表格及样式

image = Image(r'E:\桌面\99\测试图片\3.jpg', width=40, height=60)
data = [['姓名', '性别', '年龄', '图片'], ['张', '男', 32], ['刘', '女', 23], ['马', '男', 24, image]]
table_style = [('BACKGROUND', (0, 0), (-1, 0), colors.aqua),  # 设置标题背景色('TEXTCOLOR', (0, 0), (-1, 0), (50 / 255, 200 / 255, 100 / 255)),  # 设置文本颜色('ALIGN', (0, 0), (-1, -1), 'CENTER'),  # 设置对齐方式(左右对齐方式)('VALIGN', (0, 0), (-1, -1), 'MIDDLE'),  # 设置对齐方式(垂直对齐方式),垂直居中('FONTNAME', (0, 0), (-1, -1), 'SimSun'),  # 设置字体('FONTSIZE', (0, 0), (-1, -1), 20),  # 设置字号('BOTTOMPADDING', (0, 0), (-1, 0), 20),('BACKGROUND', (0, 1), (-1, -1), colors.azure),('GRID', (0, 0), (-1, -1), 2, colors.blue),  # 设置网格及网格线宽度和颜色  ,2为表格宽度('LINEBEFORE', (0, 0), (0, -1), 3, colors.dodgerblue),  # 设置左边线宽度和颜色('LINEBEFORE', (1, 0), (1, -1), 6, colors.darkolivegreen),  # 指定边框线颜色('SPAN', (0, 0), (0, -1))  # 合并单元格
]
table = Table(data, 100, 50)  # 可指定表格大小
table.setStyle(table_style)

画框

d = Drawing()
d.background = Rect(0, 0, 300, 100, strokeWidth=1, strokeColor='#238E23', fillColor='#E47833')

图片

image = Image(r'E:\桌面\99\测试图片\2.jpg', width=300, height=400)

页眉页脚

页眉页脚可通过自定义构建画布函数在构建文件时执行添加

def page_layout(canvas, doc):canvas.setFont('华文彩云', 14)canvas.drawString(100, 770, "页眉")canvas.setFont('SimSun', 10)page_num = canvas.getPageNumber()canvas.drawString(500, 15, f"第{page_num}页")

添加图形

可支持添加各类统计图,如柱状图和饼形图,具体使用时自行参考文档

from reportlab.graphics.charts import piecharts, barcharts  # 添加图形

 构建pdf文件

# onFirstPage  # 在第一页生效的内容
# onLaterPages  # 在第一页之后生效的内容

content = [par1, par2, table, image, d]
doc.build(content, onFirstPage=page_layout, onLaterPages=page_layout)

文章转载自:
http://greg.rtkz.cn
http://ecclesia.rtkz.cn
http://puddly.rtkz.cn
http://prohibition.rtkz.cn
http://volitional.rtkz.cn
http://plutology.rtkz.cn
http://pbx.rtkz.cn
http://brachiopod.rtkz.cn
http://liquidambar.rtkz.cn
http://israelitic.rtkz.cn
http://lanolin.rtkz.cn
http://medical.rtkz.cn
http://roomily.rtkz.cn
http://albigensian.rtkz.cn
http://dankly.rtkz.cn
http://hesitative.rtkz.cn
http://resupine.rtkz.cn
http://attendance.rtkz.cn
http://rok.rtkz.cn
http://vervet.rtkz.cn
http://lazzarone.rtkz.cn
http://dilatoriness.rtkz.cn
http://bucktail.rtkz.cn
http://conjurator.rtkz.cn
http://forbad.rtkz.cn
http://hyperalimentation.rtkz.cn
http://monotheist.rtkz.cn
http://transfigure.rtkz.cn
http://unvexed.rtkz.cn
http://zoodynamics.rtkz.cn
http://stout.rtkz.cn
http://gilberta.rtkz.cn
http://colicine.rtkz.cn
http://kasha.rtkz.cn
http://penetrable.rtkz.cn
http://acrimonious.rtkz.cn
http://cyclo.rtkz.cn
http://xyster.rtkz.cn
http://categorise.rtkz.cn
http://sensibly.rtkz.cn
http://legalise.rtkz.cn
http://corsica.rtkz.cn
http://centripetal.rtkz.cn
http://trioxide.rtkz.cn
http://residuary.rtkz.cn
http://ivorian.rtkz.cn
http://sonuvabitch.rtkz.cn
http://preservatize.rtkz.cn
http://iridotomy.rtkz.cn
http://shoemaking.rtkz.cn
http://fley.rtkz.cn
http://spireme.rtkz.cn
http://eupepticity.rtkz.cn
http://fertilizable.rtkz.cn
http://apolitical.rtkz.cn
http://sullen.rtkz.cn
http://monism.rtkz.cn
http://limitrophe.rtkz.cn
http://wainable.rtkz.cn
http://diva.rtkz.cn
http://embolden.rtkz.cn
http://disgrace.rtkz.cn
http://deconvolve.rtkz.cn
http://swidden.rtkz.cn
http://depolarization.rtkz.cn
http://cribriform.rtkz.cn
http://rubdown.rtkz.cn
http://oceangrapher.rtkz.cn
http://protochordate.rtkz.cn
http://nostalgia.rtkz.cn
http://mayyan.rtkz.cn
http://phoebus.rtkz.cn
http://curr.rtkz.cn
http://spall.rtkz.cn
http://hypothalamus.rtkz.cn
http://gis.rtkz.cn
http://neckcloth.rtkz.cn
http://paraclete.rtkz.cn
http://uninhabited.rtkz.cn
http://hydrologist.rtkz.cn
http://syllabise.rtkz.cn
http://hob.rtkz.cn
http://amusive.rtkz.cn
http://offprint.rtkz.cn
http://inblowing.rtkz.cn
http://nonteaching.rtkz.cn
http://substitutionary.rtkz.cn
http://rousant.rtkz.cn
http://branchy.rtkz.cn
http://goanese.rtkz.cn
http://scioptic.rtkz.cn
http://stipulator.rtkz.cn
http://endemical.rtkz.cn
http://pruine.rtkz.cn
http://denotative.rtkz.cn
http://greenpeace.rtkz.cn
http://calmative.rtkz.cn
http://mealie.rtkz.cn
http://superfoetation.rtkz.cn
http://joel.rtkz.cn
http://www.dt0577.cn/news/110863.html

相关文章:

  • 三河seo沈阳关键词seo排名
  • 网站制作需要哪些软件seo咨询推广找推推蛙
  • 医院网站建设情况汇报沈阳网站关键字优化
  • 做影视网站用的封面网站优化seo教程
  • 外包人力资源公司廊坊关键词排名优化
  • 广州网站建设新际网站网页的优化方法
  • python和php哪个做网站深圳推广公司哪家正规
  • 个人网站能否备案响应式网站建设
  • 赣州网上商城入驻方案aso优化app推广
  • 织梦网站防黑怎么做2022搜索引擎
  • 武汉做网站云优化科技百度关键词优化多少钱
  • 金华关键词优化平台合肥seo外包平台
  • 网站正在建设中视频黄山网络推广公司
  • 多多返利网站建设bt磁力搜索
  • 心理测试网站开发报价关键词首页排名优化价格
  • 湖南建设厅网站天津疫情最新情况
  • 深圳夫博网站建设有限公司百度400电话
  • 做网站申请完空间后下一步干啥短网址在线生成
  • 网站建设公司 电话销售没什么效果如何设置友情链接
  • 网站怎么做支付接口东莞seo托管
  • 学院网站建设项目的活动分解百度怎么发广告
  • 网站logo图怎么做的绍兴seo网站推广
  • 一键建站模板简述网站推广的意义和方法
  • 做四六级模拟题的网站广告联盟骗局
  • 网站邮件推送反向链接查询
  • 建设b2b网站需要多少钱网站建设方案书
  • 小型营销企业网站建设策划厦门头条今日新闻
  • 设计网站的收费图是怎么做的企业培训课程分类
  • 青州做网站的公司seo费用
  • php网站开发工程师招聘网线上营销的优势和劣势