如何使用Perl将PDF文件以base64编码嵌入XML文件
Perl单行命令实现PDF嵌入Base64编码的XML文件
方案说明
依赖Perl核心模块MIME::Base64,无需额外安装第三方依赖,可直接执行单行命令完成需求。
目标输出结构示例
<file id="918" filesize="143356" extension="pdf"> <embed encoding="base64">JVBERi0..... .... </embed> </file>
可直接执行的Perl单行命令
perl -MMIME::Base64 -e '$f=shift;$id=shift;open(F,$f)||die $!;binmode F;read(F,$d,-s F);$size=-s F;close F;$b64=encode_base64($d);print qq(<file id="$id" filesize="$size" extension="pdf">\n <embed encoding="base64">$b64</embed>\n</file>\n)' 你的PDF文件路径 自定义fileID
- 命令使用说明:将末尾的
你的PDF文件路径替换为本地PDF的实际存储路径,自定义fileID替换为你需要的id属性值即可。 - 若需要将生成的XML内容直接保存到文件,在命令末尾添加
> 输出文件名.xml即可。
执行逻辑说明
- 读取指定PDF文件的二进制内容,同时获取文件大小
- 调用
MIME::Base64将二进制内容编码为标准Base64字符串 - 按照指定的XML结构拼接属性和编码内容,直接输出
内容的提问来源于stack exchange,提问作者Stefan Müller
相关产品推荐
相关产品推荐

