公司最近放弃了购买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 报表自
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来创建、...
在这个案例中,开发者可能使用了Python的requests库来发送HTTP请求获取网页,然后利用BeautifulSoup或类似库解析HTML,找到PPT模板的链接。PPT模板可能分布在不同的网页上,因此爬虫可能需要处理分页或者递归地访问...
利用Python进行数据分析
要使用Python实现模板打印,可以按照以下步骤进行: ...此外,还可以考虑使用其他模板引擎库和技术,如Django自带的模板引擎(用于Web开发)、xlsxwriter(用于生成Excel报表)等,以满足不同的需求。
Arcgis中利用python语言对shp文件批量计算面积,注释详细,只需更改shp文件输入及结果输出文件夹路径即可
在了解Python利用Jinja2模板生成HTML代码实例的知识点之前,首先要了解Jinja2是什么。Jinja2是一个流行的模板引擎,用于Python编程语言,广泛用于Web开发框架如Flask和Django中。其核心功能是将数据与模板结合生成...
利用python提取ERA5的nc文件数据.py
Python虽然不是编解码器的直接实现者,但它可以通过FFmpeg库接口来调用这些编解码器。FFmpeg是一个跨平台的音频和视频处理工具,它集成了多种编解码器,可以进行格式转换、音视频提取、剪辑、转码等操作。通过Python...
python实现实时二维码解码、识别、验证
在IT行业中,Python是一种广泛应用的编程语言,尤其在数据处理和文件操作方面表现突出。本话题将深入探讨如何使用Python语句读取JSON文件并输出其中的数据。JSON(JavaScript Object Notation)是一种轻量级的数据...
利用Python暴力破解加密rar文件。 按住win+x选择Windows Powershell 管理员 输入 python .\ berar.py .\ 文件名.rar
《利用Python进行数据分析》这本书是数据科学领域的一本经典之作,它主要介绍如何使用Python语言和相关的数据分析库,如pandas、numpy等,来进行高效的数据处理、分析和可视化。书中包含了许多实例,这些实例的数据...
这个文件包包含了一个或多个Python脚本,这些脚本利用Python的强大功能和灵活性,通过编程方式实现对PPT模板的快速复制。用户只需运行这些脚本,就可以在短时间内完成大量PPT模板的复制工作,从而提高工作效率,节省...
要解析这样的文件,我们可以利用Python的内置xml.etree.ElementTree库。这个库提供了方便的方法来解析XML文档,提取所需的信息。以下是一个简单的步骤: 1. 导入ElementTree库:`import xml.etree.ElementTree as ...
利用windows定时任务计划,配置python开发的py文件,按照每天定时执行,定时任务定时执行。
3个小项目分别是利用 Python 实现报表自动化、某连锁超市、某银行数据分析,展示了问题分解、数据清洗、数据分析与可视化的过程 如下: 1.利用 Python 实现报表自动化 为什么要进行报表自动化 什么样的报表适合...
1. **解析LNK文件结构**:`Python-LnkParse`能够读取LNK文件,并解码其内部结构,包括链接的目标位置、创建时间、工作目录、命令行参数等。 2. **获取图标信息**:LNK文件通常包含目标程序的图标,该库可以提取这些...