·
教程大全 ·
301877
做快递面单打印模板,快递要求纸张大小100 x 150mm。
pagesize.a4=595 x 842
a4尺寸=210mm×297mm
故设置纸张大小:
补充:解决itext生成pdf文件过大的问题
为itext生成的pdf文件瘦身。
原来生成pdf文件,即使是纯文本内容,无论内容再如何少,文件体积总是在7m多,导致传输速度很慢。经排查,是在pdf生成的时候,选用了第三方中文字体造成的。
原生成pdf代码中,有如下语句:
这种情况下,itext会将字体ttf文件一同打包进pdf文件中,造成文件很大。
解决方法
是把这句改写为:
同时,需要引入itext-asian,使用maven:
这样,原来7m多的文件,现在只有100k左右了。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
NumPy数组转置与轴换位本质相同但接口语义不同:.T仅适用于二维数组的简单转置,三维及以上会完全反转轴序;精确控制需用np.transpose()、np.swapaxes()或np.moveaxis()。 NumPy数组的转置和轴换位本质是同一类操作,但接口不同、语义侧重不同:用.T或np.tra...
aioredisv1.x的pipeline()返回同步Pipeline,execute()会阻塞事件循环;正确做法是用redis.pipeline()获取异步实例,链式调用命令后awaitexecute()。 asyncio+aioredis的pipeline为什么不能直接用pipeline()? ...
RotatingFileHandler按大小轮转,TimedRotatingFileHandler按时间轮转;前者依赖maxBytes和backupCount控制单文件大小与保留数量,后者通过when、interval和atTime精确调度滚动时机,但均不支持多进程安全写入。 用RotatingFi...
asyncdef视图必须运行在ASGI服务器(如Uvicorn)上,WSGI不支持;需Django≥3.1、配置asgi.py、用sync_to_async包装ORM、httpx.AsyncClient替代requests,并避免同步中间件。 asyncdef视图必须跑在ASGI上,WSGI下直接失...
本文介绍如何用numpy和pandas实现灵活、高效的移动平均函数,支持任意窗口大小配置,避免硬编码索引,显著提升性能与可维护性。 本文介绍如何用numpy和pandas实现灵活、高效的移动平均函数,支持任意窗口大小配置,避免硬编码索引,显著提升性能与可维护性。 在信号处理、时间序列分析和数据平滑任...
Requests请求超时必须显式设置,否则默认无限等待导致卡死;推荐用元组timeout=(connect,read)如(3,10),并结合urllib3.Retry实现带退避的可控重试。 Requests请求超时直接报错,必须显式设置timeout Requests默认不设超时,网络卡住或服务无响...
xlsxwriter必须预定义格式对象再写入,不支持事后补加样式;openpyxl可先写后设样式,但需注意批量赋值和合并单元格的样式同步问题。 用xlsxwriter设置单元格样式必须先创建格式对象 直接对已写入的单元格“补加”样式在xlsxwriter中不可行——它只支持“边写边设”,所有样式必须...
必须同时设置行数、列数、列宽三类选项才能显示全,单设一个无效;推荐执行四行set_option将max_rows、max_columns、width、max_colwidth均设为None。 为什么pd.set_option设了还不显示全? 因为Pandas默认对列数、行数、列宽都做了截断,单设一个...