本帖最后由 ppll2030 于 2024-7-6 15:10 编辑
VBA不熟。就不搀和了。习惯了用批处理,看看合不合用吧。
注意:
代码一定一定要保存为UTF-8格式的bat文件。
bat文件跟pdftk.exe文件放一块。
书签明细可在脚本后修改。
PDF文件支持拖放,也可打开后手动输入。- @echo off
- setlocal enabledelayedexpansion
- rem 注意::一定要保存为UTF-8格式的bat文件
- chcp 65001 >nul
- :start
- set f=%1
- if not defined f echo. &set /p f=输入要添加书签的PDF文件:
- if not defined f echo.&pause&cls&goto :start
- for %%i in ("%f%") do set _nf=%%~ni&set _xf=%%~xi
- set /a n=1
- rem skip数值以 "以下为书签名单" 所在行为准
- (for /f "skip=24 tokens=* delims=" %%a in ('type "%~f0"') do (
- set str=%%a
- echo BookmarkBegin
- echo BookmarkTitle: !str!
- echo BookmarkLevel: 1
- echo BookmarkPageNumber: !n!
- set /a n+=1
- ))>bookmark.txt
- pdftk "%f%" update_info_utf8 bookmark.txt output "%_nf%_bookmark%_xf%"
- del /q bookmark.txt
- pause&exit
-
- 以下为书签名单:
- 红旗小学1
- 红旗小学2
- 红旗小学3
- 红旗小学4
- 红旗小学5
- 红旗小学6
- 红旗小学7
- 红旗小学8
- 红旗小学9
- 红旗小学10
- 红旗小学11
- 红旗小学12
- 红旗小学13
- 红旗小学14
- 红旗小学15
- 红旗小学16
- 红旗小学17
- 红旗小学18
- 红旗小学19
- 红旗小学20
- 红旗小学21
- 红旗小学22
- 红旗小学23
- 红旗小学24
- 红旗小学25
- 红旗小学26
- 红旗小学27
- 红旗小学28
- 红旗小学29
- 红旗小学30
复制代码
|