`
greatghoul
  • 浏览: 148156 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

利用python解码中创报表InforReport的模板文件

阅读更多

公司最近放弃了购买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+Excel 报表自动化详解.zip

    python入门 Python+Excel 报表自动化详解.zip Python+Excel 报表自动化详解.zip Python+Excel 报表自动化详解.zip Python+Excel 报表自动化详解.zip ...Python+Excel 报表自动化详解.zipPython+Excel 报表自

    利用python提取ERA5的nc文件数据.py

    利用python提取ERA5的nc文件数据.py

    解码微信聊天图片数据文件.dat文件的Python代码

    WechatImageDecoder.py实现了解码微信聊天图片数据文件.dat文件的功能。代码文件中的每一行都做了注释,便于代码学习。代码中的两个变量wechat_image_absolute_path、output_path需要修改为自己电脑上的实际路径。

    Arcgis中利用python语言把dbf文件批量转换成Excel表格

    Arcgis中利用python语言把dbf文件批量转换成Excel表格,注释详细,只需更改dbf文件所在路径以及输出路径

    python生成docx文档从模板

    本文将深入探讨如何使用Python的`python-docx`库从模板生成docx文档,并结合提供的`pytest`测试来确保代码的正确性。`python-docx`是一个用于读写Microsoft Word .docx文件的Python库,它提供了丰富的API来创建、...

    S模式和ADS-B信号的Python解码器_Python_Cython_下载.zip

    这个压缩包“S模式和ADS-B信号的Python解码器_Python_Cython_下载.zip”包含了一个名为“pyModeS-master”的项目,该项目是用Python和Cython编写的,用于解析这两种信号的数据。 S模式是一种空中交通管理(ATM)...

    Python实现模板打印

    要使用Python实现模板打印,可以按照以下步骤进行: ...此外,还可以考虑使用其他模板引擎库和技术,如Django自带的模板引擎(用于Web开发)、xlsxwriter(用于生成Excel报表)等,以满足不同的需求。

    利用Python进行数据分析.pdf

    利用Python进行数据分析

    Arcgis中利用python语言对shp文件批量计算面积

    Arcgis中利用python语言对shp文件批量计算面积,注释详细,只需更改shp文件输入及结果输出文件夹路径即可

    python flask开发模板

    python flask框架开发模板,配置了数据库迁移(migrate) 日志logger 等 启动:python runserver.py 数据库迁移 :python manage.py db init

    基于python的GNSS rtcm解码算法源码

    【标题】"基于Python的GNSS RTCM解码算法源码"揭示了使用Python编程语言实现全球导航卫星系统(GNSS)的实时精密测距编码(RTCM)数据的解码算法。RTCM是一种用于提高GNSS定位精度的通信协议,它通过发送修正信息来...

    Python-实践介绍视频技术图像视频编解码器av1h264h265和ffmpeg编码

    Python虽然不是编解码器的直接实现者,但它可以通过FFmpeg库接口来调用这些编解码器。FFmpeg是一个跨平台的音频和视频处理工具,它集成了多种编解码器,可以进行格式转换、音视频提取、剪辑、转码等操作。通过Python...

    Python-f2b对目录及其文件进行base64编码解码的脚本文件

    在给定的场景中,我们关注的是一个名为"Python-f2b"的脚本,它专门用于对目录及其内部文件进行Base64编码和解码。Base64是一种用于将二进制数据转换为ASCII字符的编码方法,常用于在网络上传输非ASCII字符,如图片或...

    利用PYTHON进行数据分析.pdf

    但是根据文件的标题和描述,我们可以知道该文件的主题是关于“利用Python进行数据分析”。 知识点一:Python语言特点与应用领域 Python是一种高级编程语言,其特点包括易读性强、简洁明了、可扩展性强、具有丰富的...

    Python处理S19文件

    除了解析,我们还可以利用Python进行S19文件的生成。例如,如果你有一个包含二进制代码的文件,可能需要将其转换为S19格式以便烧录。这可以通过`srec_writer`库实现,但需要注意的是,这个库并不直接支持S19格式,你...

    python实现实时二维码解码、识别、验证

    python实现实时二维码解码、识别、验证

    利用Python语句读取json文件,并输出相应数据

    在IT行业中,Python是一种广泛应用的编程语言,尤其在数据处理和文件操作方面表现突出。本话题将深入探讨如何使用Python语句读取JSON文件并输出其中的数据。JSON(JavaScript Object Notation)是一种轻量级的数据...

    利用python写入.ply文件、三维点云写入ply文件、并用meshlab打开

    该代码利用python(numpy)生成ply文件,并将三维点云数据写入ply文件。生成的ply文件可以直接用meshlab打开查看点云。 这个积分太高了,我重新上传了一份,链接: ...

    利用Python暴力破解rar加密文件

    利用Python暴力破解加密rar文件。 按住win+x选择Windows Powershell 管理员 输入 python .\ berar.py .\ 文件名.rar

Global site tag (gtag.js) - Google Analytics