diff --git a/personal/how-to/oreilly-book-to-ipad-pdf.md b/personal/how-to/oreilly-book-to-ipad-pdf.md index 4fc86ce4..3968e416 100644 --- a/personal/how-to/oreilly-book-to-ipad-pdf.md +++ b/personal/how-to/oreilly-book-to-ipad-pdf.md @@ -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`. Перед печатью он отдельно подгружает изображения внутри области книги; если отдельное изображение не успело загрузиться, печать продолжается с предупреждением.