fundevogel / pcbis2pdf
适用于DTP软件的pcbis.de助手
Requires
- doctrine/cache: ^1.8
- guzzlehttp/guzzle: ^6.3
- scriptotek/google-books: ^0.2.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.14
- phpunit/phpunit: ^8.1
Suggests
- berteh/scribusgenerator: dev-master
README
是什么
这个小型库为我们的示例工作流程提供动力,用于从CSV文件(从pcbis.de导出)收集信息,并通过批发书商KNV的API(内置Google Books API和OpenLibrary Books API支持)收集更多内容。有关其WSDL接口的文档,请参阅此处。
尽管名称如此,pcbis2pdf
可能永远不会一次性从收集的数据到打印就绪的PDF,而是尽可能在过程中提供帮助(如果这样说的话,是渐近的)——它现在更像是一个pcbis2dtp
。
为什么
在未来,此脚本应能自动生成我们的推荐清单(约300本书),每半年发布一次。目前,它收集信息(在本地缓存),下载书封面(来自德国国家图书馆),然后将所有内容导出为CSV。从那里,您可以将结果传递到您选择的DTP软件(例如Scribus,InDesign,QuarkXPress等)。
如何
这是一个“活着的”,不断变化的模板——请随意根据您的需求进行调整。它在Composer中可用。不传递任何选项,pcbis2pdf
假定以下项目结构
├── ..
├── index.php
├── composer.json
├── knv.login.json
├── src
│ ├── dataList.sla
│ ├── Titelexport.csv
│ └── csv
│ ├── raw_one.csv
│ ├── raw_two.csv
│ └── ..
├── dist
│ ├── data.csv
│ ├── result.sla
│ └── images
│ ├── cover_one.jpg
│ ├── cover_two.jpg
│ └── ..
└── vendor
├── ..
└── ..
注意:在运行index.php
之后,dist
目录会被填充,但为了展示,结果也包含在上面。
基本工作流程
请确保提供您的API凭证(请参阅example
目录中的示例*.login.json
文件)。在此结构下,您可以通过运行php index.php
或查看来自动将书封面下载到dist/images
,并生成dist/data.csv
。
高级工作流程
更进一步,您可能希望将生成的dist/data.csv
和所有下载的图片注入到DTP模板中。在example
目录中有一个使用示例,它使用的是Scribus,这是一款兼容Windows、macOS和GNU/Linux的开源桌面排版软件。
在使用这个库一段时间后,您可能希望将以下命令添加到您的composer.json
中,以进一步自动化这些操作(直接执行它们也是可以的)
"scripts": { "start": "php index.php", "print": "./vendor/berteh/scribusgenerator/ScribusGeneratorCLI.py --single -c ./dist/data.csv -o dist -n result src/dataList.sla", }
超越
如果您想要将事情提升到另一个层次,您可能会喜欢这个片段,它可以从CSV文件和相应的SLA文件(Scribus文档)生成优化的PDF文件,按问题/年份/您想要的任何方式排序。
致谢
大多数辅助函数都是从Kirby的出色toolkit
软件包中借用的,由Bastian Allgeier提供(顺便说一下,他真是太棒了)。
编码愉快!
©️ Fundevogel Kinder- und Jugendbuchhandlung