[2026-10-10] eagle: personal/how-to/oreilly-book-to-ipad-pdf.md
This commit is contained in:
1 parent
8eead268d2
commit
c590b44ac1
1 file changed
+6
-14
@@ -33,18 +33,18 @@ tags:
|
|||||||
~/Automation/OReillyPDF/outputs/<имя-книги>.pdf
|
~/Automation/OReillyPDF/outputs/<имя-книги>.pdf
|
||||||
```
|
```
|
||||||
|
|
||||||
Первый созданный документ находится здесь:
|
Проверенный документ Building Agentic AI Systems:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
~/Documents/Codex/2026-10-10/c/outputs/Agentic-GraphRAG-iPad-768x1024.pdf
|
~/Automation/OReillyPDF/outputs/Building-Agentic-AI-Systems-iPad-768x1024.pdf
|
||||||
```
|
```
|
||||||
|
|
||||||
## Что делает workflow
|
## Что делает workflow
|
||||||
|
|
||||||
1. Локально клонирует профиль Chrome `Default`, чтобы использовать существующую авторизацию O'Reilly.
|
1. Локально клонирует профиль Chrome `Default`, чтобы использовать существующую авторизацию O'Reilly.
|
||||||
2. Запускает headless Chrome через Chrome DevTools Protocol.
|
2. Запускает headless Chrome через Chrome DevTools Protocol.
|
||||||
3. Находит предисловие и страницы глав.
|
3. Открывает корневую страницу книги, переходит к текущей секции и автоматически читает полное оглавление O'Reilly.
|
||||||
4. Печатает каждую главу через движок Chrome.
|
4. Печатает каждую уникальную секцию оглавления через движок Chrome; поддерживаются имена страниц `.html` и `.xhtml`.
|
||||||
5. Применяет размер страницы 576×768 pt — это соотношение 768×1024 при 96 DPI.
|
5. Применяет размер страницы 576×768 pt — это соотношение 768×1024 при 96 DPI.
|
||||||
6. Добавляет безопасные поля и правила разрыва страниц, чтобы строки не обрезались по краям.
|
6. Добавляет безопасные поля и правила разрыва страниц, чтобы строки не обрезались по краям.
|
||||||
7. Объединяет главы с помощью `pdfunite`.
|
7. Объединяет главы с помощью `pdfunite`.
|
||||||
@@ -83,15 +83,7 @@ const BOOK_ROOT = "https://learning.oreilly.com/library/view/SLUG/BOOK_ID/";
|
|||||||
const OUTPUT = resolve("outputs/Book-Name-iPad-768x1024.pdf");
|
const OUTPUT = resolve("outputs/Book-Name-iPad-768x1024.pdf");
|
||||||
```
|
```
|
||||||
|
|
||||||
Указать фактическое число нумерованных глав:
|
Число глав и имена файлов указывать не нужно: workflow извлекает уникальные секции из оглавления книги. Это работает как с адресами вида `preface01.html`/`ch01.html`, так и с издательскими именами вроде `B31483_Preface.xhtml`/`B31483_01.xhtml`.
|
||||||
|
|
||||||
```js
|
|
||||||
const CHAPTER_COUNT = 8;
|
|
||||||
```
|
|
||||||
|
|
||||||
Например, для 12 глав заменить `8` на `12`.
|
|
||||||
|
|
||||||
Скрипт ожидает адреса вида `preface01.html`, `ch01.html`, `ch02.html` и так далее.
|
|
||||||
|
|
||||||
## Запуск
|
## Запуск
|
||||||
|
|
||||||
@@ -123,7 +115,7 @@ Page size: 576 x 768 pts
|
|||||||
Подробный stderr Chrome записывается в:
|
Подробный stderr Chrome записывается в:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
~/Automation/OReillyPDF/work/pdfs/agentic-graphrag-driver/chrome.log
|
~/Automation/OReillyPDF/work/pdfs/oreilly-book-driver/chrome.log
|
||||||
```
|
```
|
||||||
|
|
||||||
Workflow не ждёт загрузки всех lazy-изображений страницы перед распознаванием главы: это ранее вызывало ложный `Timed out waiting for chapter content`. Перед печатью он отдельно подгружает изображения внутри области книги; если отдельное изображение не успело загрузиться, печать продолжается с предупреждением.
|
Workflow не ждёт загрузки всех lazy-изображений страницы перед распознаванием главы: это ранее вызывало ложный `Timed out waiting for chapter content`. Перед печатью он отдельно подгружает изображения внутри области книги; если отдельное изображение не успело загрузиться, печать продолжается с предупреждением.
|
||||||
|
|||||||
Reference in new issue
Block a user