shadowlib
431 subscribers
14 photos
16 files
14 links
convert PDG to PDF, no GUI, open source, cross
platfrom
Download Telegram
[SophIA][src]ShadowLibrary_dll_v0.4.0a.7z
16.7 MB
【v0.4.0a 2025年4月10日】
2025年4月22日有新版发布,看这里

修复某些横着的书可能获取不到长宽的问题,修复bac格式封底导致转换失败的问题。修复书签模块可能导致的转换失败,修复pdf文件名出错的问题,目前以元数据,bookinfo,zip文件名三层优先级依次命名
# 【ShadowLibrary_dll_v0.4.0】

- 2025/04/05 v0.4.0 发布:
- 提供图形界面,多个压缩包后台并行转换,不会占用鼠标。
- 支持转换时自动根据ssid给pdf加书签。
- 支持多种方式获取书签,可以复制到剪贴板后用于其他工具。
- 提供高速书籍搜索功能,能搜索绝大部分公开元数据,数据覆盖面广且极少重复、速度非常快。
- 书站、古籍、文物名画高清图、字典 集中导航,整合当前相关领域的高质量网站。
- 支持自定义导航,可以制作属于你自己的导航页。
- 源码和API方面,简化了多进程调用方式,现在只要一行代码就可以多进程调用。
- 提供LMDB格式书签,启动速度快,查询速度快,占用资源极少。

### 参数说明

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.4.0.7z`
MD5: cfc3abf00d7189e1cc6451ee5002feba
不想用代码的可以用这个,安装完直接用。
【2025年4月9日更新】修复某些横着的书可能获取不到长宽导致转换失败的问题,修复bac格式封底导致转换失败的问题。
重装时最好删掉ShadowLibrary/bin/index


2、Shadowlib内核源码
`[SophIA][src]ShadowLibrary_dll_v0.4.0.7z`
MD5: 059bf271f0e8eb6567495358684fcc6f
详细的使用说明请看里面的README_zh-CN.html
【2025年4月9日更新】修复某些横着的书可能获取不到长宽导致转换失败的问题,修复bac格式封底导致转换失败的问题。
👍6
【Shadowlib v0.4.0a 2025年4月10日更新】
高速书籍索引,完全本地搜索。后台高并发自动转换,自动加书签。

+ 修复某些书的分辨率计算错误
+ 修复某些横着的书可能获取不到长宽导致转换失败的问题
+ 修复bac格式封底导致转换失败的问题
+ 解决了在GUI中多进程时最后几个文件可能莫名其妙卡住的问题
+ 修复书签模块可能导致的转换失败问题
+ 修复pdf文件名出错的问题,目前以元数据,bookinfo,zip文件名三层优先级依次命名

重新下载再安装就可以了。
Shadowlibrary目录下Collections.json是你的收藏,
WebDirectory.json是导航。
如果你有修改过,可以先把这两个文件复制到别的地方,装完再复制回来。

重装之前最好删掉ShadowLibrary/bin/index 否则会重复索引,会多占硬盘空间。

1、安装包
`[SophIA][bin]ShadowLibrary_dll_v0.4.0.7z`
MD5: 12d3245d8bacf6519369234b1b8f6ab0
图形界面版本,安装完直接用。


2、Shadowlib内核源代码
`[SophIA][src]ShadowLibrary_dll_v0.4.0.7z`
MD5: 059bf271f0e8eb6567495358684fcc6f

LMDB书签库在这里,当对书签有大量需求时使用。

💻 关注频道:@ALA数据分析
Shadowlib交流群
👍21
[SophIA][bin]ShadowLibrary_dll_v0.4.1.7z
318.8 MB
MD5: 56f853b564a7b0b18ccfb2dbf9b8fa66
如果之前装过,那么最好把上次安装的ShadowLibrary整个文件夹删掉,防止索引多占硬盘空间。
删之前复制Collections.json到别的地方,之后再复制回来。
[SophIA][src]ShadowLibrary_dll_v0.4.1.tar.gz
19.6 MB
MD5: 0cd947c85168a62fc3e03703930efab1
[SophIA][Linux]ShadowLibrary_dll_v0.4.1.tar.gz
44.2 MB
MD5: 14e35c1baa45a53fae1d1fe29898e247
Linux版安装方式看里边的README_zh-CN.html
总体上分成两步,第一步在wine中启动pdgdecoder,第二步在Linux机器上直接运行shadowlib源码
shadowlib pinned Deleted message
【Shadowlib v0.4.1 2025年4月22日更新】
- 提供图形界面,多个压缩包后台并行转换,不会占用鼠标。
- 提供Linux版,现在大部分代码不再需要wine环境。
- 支持自定义输出文件名格式,8个字段任选。
- 支持转换时自动根据ssid给pdf加书签。
- 支持多种方式获取书签,可以复制到剪贴板后用于其他工具。
- 提供高速书籍搜索功能,完全本地搜索,能搜索绝大部分公开元数据,数据覆盖面广且极少重复、速度非常快。
- 书站、古籍、文物名画高清图、字典 集中导航,整合当前相关领域的高质量网站。
- 支持自定义导航,可以制作属于你自己的导航页。
- 源码和API方面,简化了多进程调用方式,现在只要一行代码就可以多进程调用。
- 提供LMDB格式书签,启动速度快,查询速度快,占用资源极少。


v0.4.1 Release Note

+ 增加了自定义输出文件名功能,自由选择数据源和字段,自由定义输出文件名格式。
+ 升级了Linux版本。大部分源码可以直接跑在操作系统上,性能更好,体积更小。
+ 修复某些Djvu的书彩页可能变黑白的问题。
+ 修复GUI中多进程可能卡住的问题。
+ 修复某些书的长宽异常问题。
+ 修复书签模块可能导致的转换失败问题。
LMDB书签库在这里,当对书签有大量需求时使用。

1、安装包 图形界面版本
[SophIA][bin]ShadowLibrary_dll_v0.4.1.7z

2、shadowlib内核源代码
[SophIA][src]ShadowLibrary_dll_v0.4.1.tar.gz

3、Linux版
[SophIA][Linux]ShadowLibrary_dll_v0.4.1.tar.gz

💻 关注频道:@ALA数据分析
Shadowlib交流群
2👍1
shadowlib pinned a photo
[SophIA][patch]v0.4.1.7z
3 MB
MD5: 6ff40a0e7b08fe6734b15bd89b20aae4

源码和Linux版本没有问题
只有4月29日之前安装的人需要这个补丁。
【Shadowlib v0.4.1 补丁 2025年4月29日】
v0.4.1 补丁
+ 修复缺页书转换失败问题。

源码和Linux版本没有问题。
只有4月29日之前安装的人需要这个补丁。



1、安装包
[SophIA][patch]v0.4.1.7z
1
【Shadowlib Linux v0.4.2 2025年6月10日更新】

Linux版由两部分组成,PDGdecoder和shadowlib源码。
其中PDGdecoder需要运行在wine中,shadowlib源码直接运行在操作系统上。
PDGdecoder基本不会更新,这次就没有更新,只更新了源码。
所以如果安装过之前的版本,那么下载最新的shadowlib源码就可以了。

1、PDGdecoder
`[SophIA]PDGdecoder.tar.gz`
MD5:dfed0a5b1a1489c9bc327e268b202634
安装过0.4.1无需下载重装,启动pdgdecoder后运行最新的源码即可。
首次安装:看里边的README_zh-CN.html

2、shadowlib内核源代码
`[SophIA][src]ShadowLibrary_dll_v0.4.3.7z`
MD5:c6924c10716473570a68cca0651910ac