首先,我阅读了这篇文章,并使用puppeteer爬虫生成《React.js 小书》PDF并合并。发现最后的pdf没有书签,很不爽,所以主要是在这个基础上增加了添加书签的功能。爬取的示例网站为React.js书,仅供学习交流为网页生成pdf使用puppeteer爬取网页并生成pdfpuppeteer中文文档constpuppeteer=require('puppeteer');(async()=>{constbrowser=awaitpuppeteer.launch();constpage=awaitbrowser.newPage();awaitpage.goto('https://news.ycombinator.com',{waitUntil:'networkidle2'});awaitpage.pdf({路径:'hn.pdf',格式:'A4'});awaitbrowser.close();})();syntheticpdfpdf-merge:合并pdf依赖于pdftk如何给pdf添加书签pdftk:处理pdf的工具安装完成后,将bin目录添加到环境变量中,使用update_info_utf8为pdf添加书签:pdftk'd:\OpenSource\My\genpfdforrsb\React小书(无书签).pdf'update_info_utf8'd:\OpenSource\My\genpfdforrsb\bookmarks.txt'output'd:\OpenSource\My\genpfdforrsb\React小书.pdf'什么是书签,即bookmarks.txt书签格式:BookmarkBeginBookmarkTitle:PDFReference(Version1.5)BookmarkLevel:1BookmarkPageNumber:1BookmarkBeginBookmarkTitle:ContentsBookmarkLevel:2BookmarkPageNumberOKBookmarkpagenumberpdfjs-dist:获取单个pdf页码,用于为bookmarks.txt中指定页码生成书签constpageArr=结果.map(c=>c.numPages);lettxt=''for(letindex=0;index
