新手 - 我有一个Python脚本,根据指定的值调整excel文件的不同列的宽度:
import openpyxl
from string import ascii_uppercase
newFile = "D:\Excel Files\abc.xlsx"
wb = openpyxl.load_workbook(filename = newFile)
worksheet = wb.active
for column in ascii_uppercase:
if (column=='A'):
worksheet.column_dimensions[column].width = 30
elif (column=='B'):
worksheet.column_dimensions[column].width = 40
elif (column=='G'):
worksheet.column_dimensions[column].width = 45
else:
worksheet.column_dimensions[column].width = 15
wb.save(newFile)
Run Code Online (Sandbox Code Playgroud)
是否有任何方法可以将每列的宽度调整到最佳值,而无需为不同的列明确指定(意味着,不使用此" if-elif-elif -......- elif-else " 结构体)?谢谢!
我正在使用这个库从PHP生成.pdf:http://www.fpdf.org/
不过,我现在还在添加新字体,特别是从.ttf字体文件生成.afm文件的步骤.
我按照这里的说明操作:http://www.fpdf.org/en/tutorial/tuto7.htm 哪个州:
TrueType的第一步是生成AFM文件.存在执行此任务的实用程序:ttf2pt1.Windows二进制文件可在此处获得.要使用的命令行如下:
ttf2pt1 -a font.ttf字体
例如,对于Comic Sans MS Regular:
ttf2pt1 -ac:\ windows\fonts\comic.ttf漫画
创建了两个文件; 我们感兴趣的是comic.afm.
我不能 - 或者不确定如何 - 让ttf2pt1加载.我在Mac上但通过vmware运行Win XP ...当我在Windows中运行ttf2pt1.exe文件时,它会加载命令行然后快速关闭.我需要做一些安装程序吗?我不太熟悉Win命令行.
如何使用Python来近似给定文本字符串的字体宽度?
我正在寻找一个类似于以下原型的函数:
def getApproximateFontWidth(the_string, font_name="Arial", font_size=12):
return ... picas or pixels or something similar ...
Run Code Online (Sandbox Code Playgroud)
我不是在寻找任何非常严谨的东西,近似会很好.
这样做的动机是我在webapp的后端生成一个截断的字符串并将其发送到前端进行显示.大多数情况下琴弦是小写的,但有时琴弦全部都是大写的,因此它们非常宽.如果字符串没有正确分组,它看起来很难看.我想知道基于它们的近似宽度来截断字符串的程度.如果它关闭了10%这不是什么大问题,这是一个美容功能.