在线激活Windows
激活Windows8及以后的系统
1.打开powershell(不是cmd),输入以下命令并回车运行。
irm https://get.activated.win | iex2.出现激活选项。选择(1) HWID 为Windows激活。选择(2)为office激活。
激活Windows7及更早的系统
1.下载链接文件master.zip
2.下载解压,找到All-In-One-Version文件夹,运行MAS_AIO.cmd
3.选择激活选项。
1.打开powershell(不是cmd),输入以下命令并回车运行。
irm https://get.activated.win | iex2.出现激活选项。选择(1) HWID 为Windows激活。选择(2)为office激活。
1.下载链接文件master.zip
2.下载解压,找到All-In-One-Version文件夹,运行MAS_AIO.cmd
3.选择激活选项。
首先,让我们了解一下什么是openpyxl。openpyxl是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm 文件的Python 库。它可以创建新的Excel文件、修改现有的文件,甚至可以读写单元格中的数据、格式和公式。为了使用 openpyxl,我们需要先进行安装:
pip install openpyxl现在,我们来创建一个新的 Excel 文件。在这个过程中,我们会学习如何创建工作簿、添加数据到工作表并保存文件。
from openpyxl import Workbook
#创建一个新的工作簿
wb = Workbook()
#激活默认的工作表
ws = wb.active
#在单元格中写入数据
ws['A1'] = '收入'
ws['B1'] = '支出'
#保存文件
wb.save('test.xlsx')上面这个代码创建了一个新的 Excel 文件 budget.xlsx,并在第一个工作表的 A1 单元格和 B1 单元格中分别写入了“收入”和“支出”。
接下来,我们看看如何读取现有的 Excel 文件。在这个过程中,我们会学习如何加载工作簿和读取单元格数据。
from openpyxl import load_workbook
#加载现有的工作簿
wb = load_workbook('test.xlsx')
#激活默认的工作表
ws = wb.active
#读取单元格中的数据
income_label = ws['A1'].value
expense_label = ws['B1'].value
print(income_label) #输出:收入
print(expense_label) #输出:支出这段代码加载了之前创建的 budget.xlsx文件,并读取了 A1 和 B1 单元格中的数据。
我们还可以修改现有的 Excel 文件中的数据,然后保存修改后的文件。
#修改单元格中的数据
ws['A2'] = '5000'
ws['B2'] = '1500'
#保存文件
wb.save('budget_modified.xlsx')这段代码在 A2 单元格中写入了收入 5000 元,在 B2 单元格中写入了支出 1500 元,并将文件保存为 budget_modified.xlsx。
有时候,我们需要在一个 Excel 文件中处理多个工作表。下面的代码展示了如何创建新工作表并在不同工作表中写入数据。
#创建新的工作表
ws1 = wb.create_sheet("一月")
ws2 = wb.create_sheet("二月")
#在不同的工作表中写入数据
ws1['A1'] = '收入'
ws1['B1'] = '支出'
ws1['A2'] = 6000
ws1['B2'] = 2000
ws2['A1'] = '收入'
ws2['B1'] = '支出'
ws2['A2'] = 7000
ws2['B2'] = 2500
#保存文件
wb.save('budget_modified.xlsx')这段代码创建了两个新的工作表“ 一月”和“二月”,并在这些工作表中分别写入了收入和支出数据。
最后,我们来看看如何读取和更新预算数据。
from openpyxl import load_workbook
# 加载现有的工作簿
wb = load_workbook('family_budget.xlsx')
ws = wb.active
# 读取某月的预算数据
month = '三月'
for row in ws.iter_rows(min_row=2, values_only=True):
if row[0] == month:
print(f"{month}的收入是{row[1]}元,支出是{row[12]}元,剩余预算是{row[3]}")
# 更新某个月的预算数据
for row in ws.iter_rows(min_row=2):
if row[0].value == '三月':
row[1].value == 6500 # 更新收入
row[2].value == 2700 # 更新支出
row[3].value == row[1].value - row[2].value # 重新计算剩余预算
# 保存修改后的文件
wb.save('family_budget.xlsx')我们读取了三月的预算数据,并更新了三月的收入和支出。
1.ubuntu/UOS下安装
sudo apt install ocrmypdf tesseract-ocr-chi-sim2.转换
ocrmypdf -l eng+chi_sim --force-ocr input.pdf output.pdf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!--宋体-->
<match target="pattern">
<test qual="any" name="family" compare="eq"><string>\5B8B\4F53</string></test>
<edit name="family" mode="assign" binding="same"><string>CESI_SS_GB18030</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family" compare="eq"><string>simsun</string></test>
<edit name="family" mode="assign" binding="same"><string>CESI_SS_GB18030</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family" compare="eq"><string>宋体</string></test>
<edit name="family" mode="assign" binding="same"><string>CESI_SS_GB18030</string></edit>
</match>
<!--楷体-->
<match target="pattern">
<test qual="any" name="family" compare="eq"><string>\6977\4F53</string></test>
<edit name="family" mode="assign" binding="same"><string>CESI_KT_GB18030</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family" compare="eq"><string>kaiti</string></test>
<edit name="family" mode="assign" binding="same"><string>CESI_KT_GB18030</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family" compare="eq"><string>楷体</string></test>
<edit name="family" mode="assign" binding="same"><string>CESI_KT_GB18030</string></edit>
</match>
<!--仿宋-->
<match target="pattern">
<test qual="any" name="family" compare="eq"><string>\4EFF\5B8B</string></test>
<edit name="family" mode="assign" binding="same"><string>CESI_FS_GB18030</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family" compare="eq"><string>fangsong</string></test>
<edit name="family" mode="assign" binding="same"><string>CESI_FS_GB18030</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family" compare="eq"><string>仿宋</string></test>
<edit name="family" mode="assign" binding="same"><string>CESI_FS_GB18030</string></edit>
</match>
<!--黑体-->
<match target="pattern">
<test qual="any" name="family" compare="eq"><string>\9ED1\4F53</string></test>
<edit name="family" mode="assign" binding="same"><string>CESI_HT_GB18030</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family" compare="eq"><string>heiti</string></test>
<edit name="family" mode="assign" binding="same"><string>CESI_HT_GB18030</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family" compare="eq"><string>黑体</string></test>
<edit name="family" mode="assign" binding="same"><string>CESI_HT_GB18030</string></edit>
</match>
<!--微软雅黑-->
<match target="pattern">
<test qual="any" name="family" compare="eq"><string>\5FAE\8F6F\96C5\9ED1</string></test>
<edit name="family" mode="assign" binding="same"><string>Noto Sans CJK SC</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family" compare="eq"><string>Microsoft Yahei</string></test>
<edit name="family" mode="assign" binding="same"><string>Noto Sans CJK SC</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family" compare="eq"><string>微软雅黑</string></test>
<edit name="family" mode="assign" binding="same"><string>Noto Sans CJK SC</string></edit>
</match>
</fontconfig>
首先要安装emoji字体,以noto fonts emoji为例
sudo pacman -S noto-fonts-emojiFontconfig 配置文件中,70-no-bitmaps.conf作用是禁用位图字体。位图字体有时用作缺失字体的后备,这可能会导致文本呈现像素化或过大。在/etc/fonts/conf.d/中保留该配置文件,则禁用位图字体。
sudo ln -s /usr/share/fontconfig/conf.avail/70-no-bitmaps.conf /etc/fonts/conf.d/70-no-bitmaps.conffontconfig有些时候把某些emoji字体也当做位图字体,所以使用该配置文件,会导致同时禁用emoji字体。如果对所有字体禁用了嵌入位图,则仍然可以为特定字体启用嵌入位图,以防没有嵌入位图而无法正常工作。例如,启用Noto emoji:
gedit 64-enable-emoji.conf<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<match target="font">
<edit name="embeddedbitmap" mode="assign">
<bool>false</bool>
</edit>
</match>
<match target="font">
<test name="family" qual="any">
<string>Noto Color Emoji</string>
</test>
<edit name="embeddedbitmap">
<bool>true</bool>
</edit>
</match>
</fontconfig>/etc/fonts/conf.d/。~/.config/fontconfig/conf.d/。禁用位图字体的缩放通常会使位图字体变得模糊,删除 /etc/fonts/conf.d/10-scale-bitmap-fonts.conf 会解决。但是同时会破坏表情符号字体(如 Noto emoji表情符号)的缩放,使它们变得巨大。由于我们上面已禁用了其他位图字体,所以启用位图字体的缩放。
检查/etc/fonts/conf.d/目录下是否有10-scale-bitmap-fonts.conf配置文件,如果没有,新建软连接到此处。
sudo ln -s /usr/share/fontconfig/conf.default/10-scale-bitmap-fonts.conf /etc/fonts/conf.d/10-scale-bitmap-fonts.conffc-cache -fv关闭需要显示emoji的应用,如浏览器、编辑器、终端等,重新打开,输入emoji表情符号即可看到效果。