公司最近放弃了购买FineReport报表的计划,改而使用中创的InforReport报表,昨天尝试了下将InforReport嵌入到J2EE应用中,其间出现了许多莫名其妙的错误,不过最后还是搞定了。
可惜的是,以前在FineReport上花了那么多功夫,如果换到InforReport,都得重新来过,粗略看了下InforReport的模板文件(IPR),一堆看不懂数字和字符
写道
...
...
cm9wIGtleT0iMTgsMyIgY29kZVR5cGU9IkVBTjEzIiBzaG93RGF0YT0iWUVTIiBkaXJlY3Rpb249
IjAiPg0KCQk8L2JhcmNvZGVwcm9wPg0KDQoJCTwvYmFyY29kZXByb3BiYXNlPg0KCTxzdWJtaXNz
aW9uIFVSTD0iIj4NCjwvc3VibWlzc2lvbj4NCjwvaW5mb3JyZXBvcnQ+DQo=
看到最后的那个等号,我突然想到了迅雷地址,迅雷采用了base64编码,于是我尝试将ipr文件通过base64解码看看,果然是xml文件,这样了解了xml的组成结构,就有可能不通过设计器动态生成一些报表了。
解码嘛,因为整理书签时刚好看到《可爱的Python》的链接,于是就用python来写:
def decode_ipr(filename):
try:
ipr_file = open(filename, 'r')
xml_file = open(re.sub(r'.ipr$', '.xml', filename), 'w')
print 'decoding: %s ==> %s' % (filename, xml_file.name)
base64.decode(ipr_file, xml_file)
ipr_file.close()
xml_file.close()
except IOError:
print 'error decoding file %s' % filename
解码的例子已经打包,解压附件,直接运行decode.py即可。
令人费解的是,中创为何要把xml格式进行编码呢,文件反弄得大了不少,保护模板文件的真实内容?这种程序的保护也太低级了些吧。
如果你将解码后的xml文件后缀改成ipr,用InforReport的设计器依然可以正常打开,有趣。
分享到:
相关推荐
python入门 Python+Excel 报表自动化详解.zip Python+Excel 报表自动化详解.zip Python+Excel 报表自动化详解.zip Python+Excel 报表自动化详解.zip ...Python+Excel 报表自动化详解.zipPython+Excel 报表自
利用python提取ERA5的nc文件数据.py
WechatImageDecoder.py实现了解码微信聊天图片数据文件.dat文件的功能。代码文件中的每一行都做了注释,便于代码学习。代码中的两个变量wechat_image_absolute_path、output_path需要修改为自己电脑上的实际路径。
Arcgis中利用python语言把dbf文件批量转换成Excel表格,注释详细,只需更改dbf文件所在路径以及输出路径
本文将深入探讨如何使用Python的`python-docx`库从模板生成docx文档,并结合提供的`pytest`测试来确保代码的正确性。`python-docx`是一个用于读写Microsoft Word .docx文件的Python库,它提供了丰富的API来创建、...
这个压缩包“S模式和ADS-B信号的Python解码器_Python_Cython_下载.zip”包含了一个名为“pyModeS-master”的项目,该项目是用Python和Cython编写的,用于解析这两种信号的数据。 S模式是一种空中交通管理(ATM)...
要使用Python实现模板打印,可以按照以下步骤进行: ...此外,还可以考虑使用其他模板引擎库和技术,如Django自带的模板引擎(用于Web开发)、xlsxwriter(用于生成Excel报表)等,以满足不同的需求。
利用Python进行数据分析
Arcgis中利用python语言对shp文件批量计算面积,注释详细,只需更改shp文件输入及结果输出文件夹路径即可
python flask框架开发模板,配置了数据库迁移(migrate) 日志logger 等 启动:python runserver.py 数据库迁移 :python manage.py db init
【标题】"基于Python的GNSS RTCM解码算法源码"揭示了使用Python编程语言实现全球导航卫星系统(GNSS)的实时精密测距编码(RTCM)数据的解码算法。RTCM是一种用于提高GNSS定位精度的通信协议,它通过发送修正信息来...
Python虽然不是编解码器的直接实现者,但它可以通过FFmpeg库接口来调用这些编解码器。FFmpeg是一个跨平台的音频和视频处理工具,它集成了多种编解码器,可以进行格式转换、音视频提取、剪辑、转码等操作。通过Python...
在给定的场景中,我们关注的是一个名为"Python-f2b"的脚本,它专门用于对目录及其内部文件进行Base64编码和解码。Base64是一种用于将二进制数据转换为ASCII字符的编码方法,常用于在网络上传输非ASCII字符,如图片或...
但是根据文件的标题和描述,我们可以知道该文件的主题是关于“利用Python进行数据分析”。 知识点一:Python语言特点与应用领域 Python是一种高级编程语言,其特点包括易读性强、简洁明了、可扩展性强、具有丰富的...
除了解析,我们还可以利用Python进行S19文件的生成。例如,如果你有一个包含二进制代码的文件,可能需要将其转换为S19格式以便烧录。这可以通过`srec_writer`库实现,但需要注意的是,这个库并不直接支持S19格式,你...
python实现实时二维码解码、识别、验证
在IT行业中,Python是一种广泛应用的编程语言,尤其在数据处理和文件操作方面表现突出。本话题将深入探讨如何使用Python语句读取JSON文件并输出其中的数据。JSON(JavaScript Object Notation)是一种轻量级的数据...
该代码利用python(numpy)生成ply文件,并将三维点云数据写入ply文件。生成的ply文件可以直接用meshlab打开查看点云。 这个积分太高了,我重新上传了一份,链接: ...
利用Python暴力破解加密rar文件。 按住win+x选择Windows Powershell 管理员 输入 python .\ berar.py .\ 文件名.rar