Skip to content
项目
群组
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
统计
统计docx文档信息
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
问题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
静态页
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
系统群组
开源项目
统计docx文档信息
提交
16132fe1
提交
16132fe1
1月 15, 2024
创建
作者:
新的邮箱
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新 convertpdf.py
上级
1d01e5ff
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
29 行增加
和
6 行删除
+29
-6
convertpdf.py
convertpdf.py
+29
-6
没有找到文件。
convertpdf.py
浏览文件 @
16132fe1
...
...
@@ -8,7 +8,7 @@ import docx
import
os
# 参考:这是ci文件中的传入参数
# python3 convertpdf.py ${CODECODE_PROTOCOL}${CODECODE_DOMAIN}:3000 ci_job_token ${CI_JOB_TOKEN} ${CI_PROJECT_ID}
# python3 convertpdf.py ${CODECODE_PROTOCOL}${CODECODE_DOMAIN}:3000 ci_job_token ${CI_JOB_TOKEN} ${CI_PROJECT_ID}
${CI_JOB_ID}
# 主机地址和端口号,用于访问api时构造url
host_with_port
=
sys
.
argv
[
1
]
...
...
@@ -22,6 +22,9 @@ token = sys.argv[3]
# 传入的项目id
projectid
=
sys
.
argv
[
4
]
# 传入的作业id
jobId
=
sys
.
argv
[
5
]
# 调用获取主机信息api,用于访问api时使用
gethostinfo_url
=
host_with_port
+
"/api/v4/gethostinfo?"
+
token_type_str
+
"="
+
token
r_host
=
requests
.
get
(
gethostinfo_url
)
...
...
@@ -57,12 +60,32 @@ for item in filenames_arr:
# 此处增加空文件的判断
try
:
# 尝试打开文件
doc
=
docx
.
Document
(
item
)
# 如果成功打开文档,则所需的包存在
except
docx
.
opc
.
exceptions
.
PackageNotFoundError
:
# 如果出现PackageNotFoundError异常,则所需的包不存在
os
.
system
(
item
+
"是空文件"
)
continue
except
Exception
as
e
:
# 捕获异常并处理
print
(
"打开文件时出错,错误原因:"
,
e
)
print
(
"可尝试将文件:"
,
item
,
"重新另存为docx格式后上传"
)
# 将错误信息更新到cimsg中
api_url
=
host_with_port
+
"/api/v4/addcimsg?"
+
token_type_str
+
"="
+
token
# 准备向接口发送的参数
data
=
{
'jobid'
:
jobId
,
'msgcode'
:
9
,
'msginfo'
:
"上传的DOCX文件存在兼容性问题,无法转换为PDF文件,可尝试将文件使用Word或WPS打开后另存为DOCX格式,然后再上传。"
,
'msgtype'
:
"error"
}
try
:
r
=
requests
.
post
(
api_url
,
data
)
print
(
r
.
json
())
except
requests
.
exceptions
.
Timeout
:
print
(
"Timeout requesting"
)
except
KeyboardInterrupt
:
raise
except
:
print
(
"Unknown error"
)
sys
.
exit
(
1
)
# 执行命令,将文件转换成pdf
convert_pdf
=
"soffice --headless --convert-to pdf "
+
"
\"
"
+
item
+
"
\"
"
+
" --outdir ./public"
...
...
编写
预览
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论