[2026-10-10] eagle: personal/how-to/oreilly-book-to-ipad-pdf.md

This commit is contained in:
Alexey Martemyanov committed 2026-10-10 15:36:15 +06:00
1 parent 8eead268d2
commit c590b44ac1
1 file changed
+6 -14
+6 -14
View File
@@ -33,18 +33,18 @@ tags:
~/Automation/OReillyPDF/outputs/<имя-книги>.pdf
```
Первый созданный документ находится здесь:
Проверенный документ Building Agentic AI Systems:
```text
~/Documents/Codex/2026-10-10/c/outputs/Agentic-GraphRAG-iPad-768x1024.pdf
~/Automation/OReillyPDF/outputs/Building-Agentic-AI-Systems-iPad-768x1024.pdf
```
## Что делает workflow
1. Локально клонирует профиль Chrome `Default`, чтобы использовать существующую авторизацию O'Reilly.
2. Запускает headless Chrome через Chrome DevTools Protocol.
3. Находит предисловие и страницы глав.
4. Печатает каждую главу через движок Chrome.
3. Открывает корневую страницу книги, переходит к текущей секции и автоматически читает полное оглавление O'Reilly.
4. Печатает каждую уникальную секцию оглавления через движок Chrome; поддерживаются имена страниц `.html` и `.xhtml`.
5. Применяет размер страницы 576×768 pt — это соотношение 768×1024 при 96 DPI.
6. Добавляет безопасные поля и правила разрыва страниц, чтобы строки не обрезались по краям.
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");
```
Указать фактическое число нумерованных глав:
```js
const CHAPTER_COUNT = 8;
```
Например, для 12 глав заменить `8` на `12`.
Скрипт ожидает адреса вида `preface01.html`, `ch01.html`, `ch02.html` и так далее.
Число глав и имена файлов указывать не нужно: workflow извлекает уникальные секции из оглавления книги. Это работает как с адресами вида `preface01.html`/`ch01.html`, так и с издательскими именами вроде `B31483_Preface.xhtml`/`B31483_01.xhtml`.
## Запуск
@@ -123,7 +115,7 @@ Page size: 576 x 768 pts
Подробный stderr Chrome записывается в:
```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`. Перед печатью он отдельно подгружает изображения внутри области книги; если отдельное изображение не успело загрузиться, печать продолжается с предупреждением.