shadowlib
431 subscribers
14 photos
16 files
14 links
convert PDG to PDF, no GUI, open source, cross
platfrom
Download Telegram
Channel created
# 【ShadowLibrary_dll_v0.3.6o】

!!此工具诞生于OCR和AI训练数据的准备工作!!
!!禁止任何机构和个人以营利为目的使用本程序,包括用于电子版销售等经营性业务,或以会员制方式在网站上谋取利益。!!

主要功能

+ 压缩包批量转换为pdf,充分利用多核CPU性能进行高速转换
+ 命令行运行,或者调用API,对压缩包、图像、pdf进行深入处理,不需要像别的工具一样占用鼠标点击pdg2pic。
+ 将pdg转换为图片,支持用户调节图像压缩率
+ 自动检测缺页并补充缺页
+ 解析bookinfo.dat和bookcontents.dat。按其中信息自动给pdf命名并添加目录
+ 支持自定义第三方目录源
+ 开源,可以直接使用源码
+ 提供简洁的API
+ 支持转换失败文件单独存储
+ 可运行于Linux,无需docker和图形界面
+ 效率最高的密码本,可解99%的压缩包并且速度最快

2025/01/10 v0.3.6o 发布

- 提供安装包,安装完直接在命令行运行。
- 提供Linux版,可以在Linux上运行。
- 增加webserver模式。
- 失败文件拷贝功能。将转换失败的文件集中拷贝到别的地方,在配置文件内开启。
- 提供最精确的密码表,速度快效率高。
- 解决解密模块内存泄漏问题。
- 改进图像压缩方法,总体来说,速度更快,体积更小。支持用户自主调整转换结果的压缩参数,对于PNG大图版原样输出不做变化。JPG支持用户调节压缩参数。
- 日志转储管理,默认5天一个日志,保留两星期内的日志。可以在config.ini自己配置周期。
- 修正标题获取逻辑 改进书籍状态判断 增加压缩包内文件完整性检查功能,改进解压逻辑 增加数据库链接异常处理 增加临时文件清理开关。
- 修复一种奇怪的分层图像引发的bug、修复pdf内图像错误导致的目录bug、修复zip内文件名太长导致的bug,修复某些情况下图像被压扁的问题。

### 参数说明

usage: shadowlib [-h] [-v] [-c CONVERT] [-o OUTPUT] [-p PROCESS] [-s] [--host HOST] [--port PORT] [--config]

options:
-h, --help show this help message and exit
-v, --version 显示版本号
-c CONVERT, --convert CONVERT
指定一个压缩包或者一个文件夹
-o OUTPUT, --output OUTPUT
指定pdf输出路径
-p PROCESS, --process PROCESS
进程数
-s, --server Server模式
--host HOST IP地址
--port PORT 端口

--config 打开配置文件


### 使用编译版

编译版的安装包。
编译版是把python代码编译成C再编译成二进制文件的,速度会稍微快一点点。
如果不是有改代码的需求,可以直接用编译版。

#### 1、安装

运行Shadowlibrary_installer.exe,根据提示安装。安装完之后会自动添加环境变量。

#### 2、执行

开启一个新的命令行
执行

shadowlib 


会转换默认测试文件

#### 3、基础命令

打开配置文件

 bash
shadowlib --config


转换

 bash
shadowlib -c 压缩包或包含压缩包的文件夹 -o pdf存放路径 -p 进程数


### 从源码运行

#### 1、安装ShadowLibrary

conda create -n shadowlib python=3.12.0
conda activate shadowlib
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple


如果之前使用过源码,环境可以不变,但是需要重新装一下依赖,因为使用了新的第三方库。

#### 2、运行

python shadowlibrary.py -c 压缩包或包含压缩包的文件夹 -o pdf存放路径 -p 进程数


-c -o -p 都不是必须的,如果没有提供则读取config.ini中的参数。
就是说,这样也可以

python shadowlibrary.py


直接执行会在pdf文件夹生成\[SophIA]99999999_五毒俱全转换测试文件5.0.zip对应的pdf

### 使用Linux版

使用Ubuntu 22.04,其他发行版应该也是可以的,不会有太大差别,不过我没试过。
整个过程不需要任何图形界面。所以不要为了wine专门去装图形界面。

#### 1、安装

1. 执行install.sh
这一步是为了安装必要的库 需要root权限
sudo sh install.sh


2. wine初始化

切换成普通用户。 切换成普通用户。切换成普通用户。
root跑wine可能会有莫名其妙的问题。
初始化wine的一些配置。
中间可能有报错,或者需要等待(看起来像卡住了)。都不用管。

umask 0 && xvfb-run -a sh -c "wine cmd.exe"


当你看到一个windows的命令行出现时,说明成功了
退出windows命令行

exit


3. 将shadowlib.tar.gz解压到你想存放的目录。

tar -zxvf shadowlib.tar.gz -C /自定义/目录/


#### 2、使用

切换成普通用户。 切换成普通用户。切换成普通用户。

1. 直接转换
shadowlib.exe的路径必须是绝对路径
umask 0 && xvfb-run -a sh -c "wine /你上一步解压的目录/shadowlib.exe -c 压缩包或包含压缩包的文件夹 -o pdf存放路径 -p 进程数"


2. Server模式
最好还是用Server模式

-s 表示以server模式启动
--host 0.0.0.0 --port 8000 地址和端口 默认是这个,这个参数可以不加
-p 2 能同时接受几个转换请求,不加默认是1个。

!!!Server模式只是方便使用,这是一个非常简陋的webserver,是不适合直接提供服务的。

shadowlib.exe的路径必须是绝对路径

umask 0 && xvfb-run -a sh -c "wine /你上一步解压的目录/shadowlib.exe -s --host 0.0.0.0 --port 8000 -p 2"


如何与server交互,详见client.py


## 下载

这次有三个文件:

1、安装包
[SophIA][bin]ShadowLibrary_dll_v0.3.6o.7z
不想用代码的可以用这个,安装完直接用。
具体用法看里面的README_zh-CN.html
MD5:9b33a3eb661340347256c6094f1b585c
下载

2、源代码
[SophIA][src]ShadowLibrary_dll_v0.3.6o.7z
MD5:d78f7716ea321ead1661c64e87ad3246
下载

3、Linux版
[SophIA][Linux]ShadowLibrary_dll_v0.3.6o.7z
MD5:a18bc9b7ca785a976ce091c9f764310c
下载


考虑到可能有人往编译版里偷偷加东西,除非是从我这边直接下载的,否则最好检查一下MD5。


解压密码:iX0R3gNegq7m78juItGwY


详细使用说明请看README_zh-CN.html

如何添加书签看这里
shadowlib pinned «# 【ShadowLibrary_dll_v0.3.6o】 !!此工具诞生于OCR和AI训练数据的准备工作!! !!禁止任何机构和个人以营利为目的使用本程序,包括用于电子版销售等经营性业务,或以会员制方式在网站上谋取利益。!! 主要功能 + 压缩包批量转换为pdf,充分利用多核CPU性能进行高速转换 + 命令行运行,或者调用API,对压缩包、图像、pdf进行深入处理,不需要像别的工具一样占用鼠标点击pdg2pic。 + 将pdg转换为图片,支持用户调节图像压缩率 + 自动检测缺页并补充缺页…»
Channel photo updated