Skip to main content

easy operate OFD

Project description

easyofd

关于这个库:

鉴于目前python解析ofd没有啥好用的库所以决定自己整一个。

已实现功能 :

1 解析ofd

2 ofd转pdf

3 ofd转图片

4 pdf转ofd-暂不支持电子解析 关于 jb2格式图片解析 使用了第三方库 jbig2dec 去读取jb2格式图片 参考下面链接安装使用jbig2dec https://github.com/rillian/jbig2dec

:hand:实现参考文档

项目链接: https://github.com/renoyuan/easyofd

安装

pip install easyofd

ofd2pdf demo

#!/usr/bin/env python
#-*- coding: utf-8 -*-
#PROJECT_NAME: F:\code\easyofd\test
#CREATE_TIME: 2023-10-18 
#E_MAIL: renoyuan@foxmail.com
#AUTHOR: reno 
#note:  use demo
import sys
import os
project_dir = os.path.join(os.path.dirname(os.getcwd()),"easyofd")
pkg_dir = os.path.dirname(os.getcwd())
sys.path.insert(0,project_dir)
sys.path.insert(0,pkg_dir)
import base64
from PIL import Image

import numpy as np

from easyofd.ofd import OFD

if __name__ == "__main__":
    with open(r"增值税电子专票5.ofd","rb") as f:
        ofdb64 = str(base64.b64encode(f.read()),"utf-8")
    ofd = OFD()
    ofd.read(ofdb64) # 读取ofd
    # print(ofd.data)
    pdf_bytes = ofd.to_pdf() # 转pdf
    img_np = ofd.to_jpg() # 转图片
    ofd.del_data()
    with open(r"test.pdf","wb") as f:
        f.write(pdf_bytes)
    for idx, img in enumerate(img_np):
        im = Image.fromarray(img)
        im.save(f"test_img{idx}.jpg")
       

ps:

1 本库尚不完善使用需要谨慎,欢迎提各种Issue.

2 目前ofd 文件使用尚未普及,作者接触的文件也不多,遇到无法解析的文件,可以发我邮箱(renoyuan@foxmail.com),有时间会去优化版本.

版本规划:

1.0 计划重点在ofd 解析模块的完善 及ofd文档格式的转换 ofd2pdf ofd2img 等

2.0 计划完成ofdd文件绘制 以及其他文档转ofd pdf2ofd txt2ofd 等

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

easyofd-0.0.11.tar.gz (45.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

easyofd-0.0.11-py3-none-any.whl (50.6 kB view details)

Uploaded Python 3

File details

Details for the file easyofd-0.0.11.tar.gz.

File metadata

  • Download URL: easyofd-0.0.11.tar.gz
  • Upload date:
  • Size: 45.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for easyofd-0.0.11.tar.gz
Algorithm Hash digest
SHA256 f8ee7c7743e4ec1de5b2a9a260de52aadec806d306bc5af6249c3dc0408a80d1
MD5 5a2d3e4209942e061f1acb0bc42f4779
BLAKE2b-256 b69f44b3bfd4b69345188fbafc60f5bf73d64d992f394cfae94386f9b9dbecf9

See more details on using hashes here.

File details

Details for the file easyofd-0.0.11-py3-none-any.whl.

File metadata

  • Download URL: easyofd-0.0.11-py3-none-any.whl
  • Upload date:
  • Size: 50.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for easyofd-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 52cbac5adba0aba466ae7b960721d5615778eea036dbca29bb088baa5dcb275f
MD5 8e43bcd590bec6981457132ed4a1b218
BLAKE2b-256 8ad70e116f5587a1382fbdfdfa2e5e7004638616321e3183822afd943d42f0f4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page