답변:
PDF에서 일반 텍스트 파일로 또는 그 반대로 책갈피를 추출 할 수있는 다양한 도구가 있습니다. 그 중 일부는 다음과 같습니다.
또한 bmconverter.py 와 같은 여러 도구의 형식을 변환 할 수있는 스크립트가 있습니다 .
또 다른 좋은 방법은 pdflatex를 통해 pdf에 책갈피를 추가하는 것 입니다.
pdftk
이것을 위해 사용할 수 있습니다 . 추가 정보 : PDF 책갈피를 내보내고 가져 오는 방법 .
다음과 같이 명령 행에서 PDF 책갈피를 내보내십시오.
pdftk C:\Users\Sid\Desktop\doc.pdf dump_data output C:\Users\Sid\Desktop\doc_data.txt
다음과 같은 데이터 파일에서 PDF 책갈피를 가져옵니다.
pdftk C:\Users\Sid\Desktop\doc.pdf update_info C:\Users\Sid\Desktop\doc_data.txt output C:\Users\Sid\Desktop\updated.pdf
pdftk
북마크 형식은 약간 지루합니다. 대신 내가 사용하는 내 자신의 스크립트를 생성 bash
, sed
, pdftk
와 python3
. 이 저장소에서 확인하십시오 : https://github.com/SiddharthPant/booky
이제 bkmrks.txt
1000 페이지의 pdf를 작성하는 데 5 분 밖에 걸리지 않는 텍스트 파일 ( )을 만들 수 있습니다 .
{
Title1, 1
Title2, 2
{
Subtitle1, 3
Subtitle2, 4
{
SubSubtitle1, 5
...
}
}
}
그런 다음 내 스크립트를 사용하십시오.
./booky.sh pdf_file.pdf bkmrks.txt
pdf_file_new.pdf
그러면 내 북마크 가 포함 된 pdf ( )가 자동으로 생성 됩니다.
Windows 시스템을 사용하는 경우 * nix 시스템에서 작동합니다. 먼저 설치 python3
하고 pdftk
바로 사용 booky.py
변환 할 REPO에 파일 bkmrks.txt
을 pdftk
호환되는 형식
python3 booky.py < bkmrks.txt > output.txt
그런 다음 export 명령을 사용하여 덤프 된 데이터 파일을 생성하십시오. 해당 파일에서 이전 책갈피를 제거하고 output.txt
대신 간단한 복사 붙여 넣기를 사용하여 내용을 삽입하십시오 . 그런 다음 해당 데이터를 다시 가져 오십시오.
책갈피가있는 문서 버전이 있고이를 복사하려는 경우 훨씬 간단한 방법은 PDF-XChange Viewer를 사용하는 것입니다 (v2.5.211 사용). 책갈피가있는 PDF (소스 PDF)를 열고 책갈피 창에서 모든 책갈피를 선택하고 Ctrl + C를 사용하여 복사 한 다음 책갈피가없는 PDF (대상 PDF)를 열고 붙여 넣기 (Ctrl) 해당 PDF의 북마크 창에 + V)를 입력합니다. PDF-Xchange Viewer는 소스 PDF의 책갈피 속성 (책갈피 텍스트의 굵은 체 / 이탤릭체 포함)을 유지합니다. 어떤 이유로 문서의 수정으로 인해 대상 PDF의 일부 섹션이 더 낮거나 높으면 수정이 필요한 책갈피를 클릭하고 책갈피를 열 페이지의 위치로 스크롤하십시오. 북마크를 다시 클릭하고 "대상 설정"을 클릭하십시오. 문제가되는 책갈피에 필요한 경우이 마지막 부분을 반복하십시오. 완료되면 대상 PDF를 저장하십시오.
이것은 나에게 효과적이었고 매우 직관적이었고 몇 분 안에 완료되었습니다. 필자의 특정한 시나리오에서, 동료는 Mac 용 Word를 사용하여 책갈피가없는 매우 긴 문서를 제작했습니다. 문서의 길이 때문에 문서의 개요에 해당하는 책갈피를 원했습니다. Windows 용 Word에서 책갈피가있는 PDF로 문서를 저장할 수는 있지만 Windows 용 Word와 Mac 용 Word의 일부 서식 차이로 인해 페이지 수가 상당히 줄어 듭니다 (특히 바닥 글 주위의 공백과 차이가 있음) 그림과 캡션 사이의 간격). Windows 용 Word에서 페이지 매김을 올바르게하기 위해 머리글과 바닥 글 및 그림 크기를 가지고 놀 수 있었고 책갈피가있는 PDF에 저장되었습니다. 운수 나쁘게,
PDF 파일 사양은 Adobe에서 무료로 다운로드 할 수있는 PDF로 제공됩니다. 그러나 대부분의 PDF 파일에는 압축 가능한 데이터가 가장 많이 있습니다. 아마도 한 번에 한 번에 기본적으로 일반 텍스트 버전의 PDF가 있었을 것이므로 지금도 여전히 유효하지만 실제로 해당 형식의 파일을 얻는 것이 문제가 될 수 있습니다.
나는 그것을하지 않았지만, (당신이 기꺼이 지불하려는 경우) 가능성은 Acrobat Pro를 구입하고 해당 응용 프로그램에 내장 된 Javascript 스크립팅 기능을 사용하는 것입니다. 시작하려면 ...
http://acrobatusers.com/tutorials/2008/10/auto_bookmark_creation
이 자습서에서는 Acrobat 7.0 Pro (Creative Suite CS2에 포함 된 버전)에서 Javascript를 사용하여 책갈피를 자동으로 만드는 방법을 보여줍니다. 조금 오래되었지만 최신 기술에서도 동일한 기술이 적용됩니다.
Adobe 응용 프로그램에는 Javascript를 사용하여 텍스트 파일을 읽거나 쓰는 라이브러리 (Javascript에는 표준이없는 것)가 포함되어 있으므로 스크립트를 강력하게 만들기 위해 자체 가져 오기 / 내보내기 스크립트를 작성할 수 있습니다.
HandyOutline. 한 번의 클릭으로 한 번의 클릭으로 완료됩니다. https://sourceforge.net/projects/handyoutlinerfo/ . 비어 있는. 하위 북마크를 들여 씁니다. PDF 리더 / 편집기가 필요하지 않습니다. 또한 모든 세부 정보를 편집하고 텍스트로 내보내거나 (매크로 작성하여 매크로를 작성하여 완전한 기능을 갖춘 단어 문서로 정리) XML을 다시 페이지에 추가하고 PDF로 가져옵니다. Dev는 기부금을받을 자격이 있습니다.
PDF-Xchange 편집기 (PDFViewer로 교체 됨) 텍스트에 무작위로 복제되거나 누락 된 책갈피
JPDF가 필요합니다. 내 보낸 형식 가비지, 이름 만 가져 오기 위해 깨끗하지 못했습니다.
PDFtk는 지침을 보면서 두통을 줬습니다.
:-)
PDF에서 텍스트 파일로 모든 책갈피를 읽으려면 다음과 함께이 명령을 사용할 수 있습니다 pdftk
.
pdftk input.pdf dump_data output output.txt
그런 다음 메모장 ++에서 정규식을 사용하여 추가 부품을 제거했습니다. 다음은 빈 문자열로 (순서대로) 대체 한 다음 북마크 목록으로 끝났습니다 (텍스트 편집기에서 정규 표현식을 사용하여 바꾸는 것을 잊지 마십시오).
BookmarkLevel.*
BookmarkPageNumber.*
BookmarkBegin.*
\n\s+\n
숫자를 제거하려면 다음 표현식을 바꾸십시오.
BookmarkTitle: A8.\d.\d+\s