맥북에서 Automator를 이용하면 pdf를 합칠수 있는데, M1에서는 파이썬 모듈의 제거때문인지 127번 오류가 발생한다.
‘PDF 페이지 결합’ 동작에 오류가 발생함: ‘작업을 완료할 수 없습니다. 명령어 라인 도구가 127 오류를 반환했습니다.: 127’
작업을 완료할 수 없습니다. 명령어 라인 도구가 127 오류를 반환했습니다.: 127
이럴 경우 Apple Script를 이용하여 아래와 같이 해결하면 된다
오늘쪽 코드창에 아래 코드를 붙여 넣고 실행하면 된다.
(*
merge_pdf.applescript
Prompt user for PDF filenames to merge using the ⌘-key for multiple selection.
PDF will be merged in the order of their selection and written to an arbitrary
PDF filename on the Desktop (in this example, merged.pdf)
Tested: macOS 11.4, 11.6.5, 12.3
VikingOSX, 2021-06-24, Apple Support Communities, No warranty/support implied.
*)
use AppleScript version "2.4" -- Yosemite (10.10) or later
use framework "Foundation"
use scripting additions
property NSString : a reference to current application's NSString
property NSURL : a reference to current application's NSURL
property PDFDocument : a reference to current application's PDFDocument
# tilde path to absolute path
set merged_pdf to (NSString's stringWithString:"~/Desktop/merged.pdf")'s stringByStandardizingPath()
set msg to "Select multiple PDF using the ⌘-key in the order of your merge preference."
set pdfList to (choose file with prompt msg of type {"com.adobe.pdf"} default location (path to desktop) with multiple selections allowed)
set outurl to NSURL's fileURLWithPath:(POSIX path of (item 1 of pdfList))
set outpdf to PDFDocument's alloc()'s initWithURL:outurl
set pdfList to rest of pdfList
set lastPage to outpdf's pageCount()
repeat with pdfdoc in pdfList
set thisURL to (NSURL's fileURLWithPath:((POSIX path of pdfdoc) as text))
set thisPDF to (PDFDocument's alloc()'s initWithURL:thisURL)
# PDF pages are zero-based
repeat with n from 1 to thisPDF's pageCount()
set this_page to (thisPDF's pageAtIndex:(n - 1))
(outpdf's insertPage:this_page atIndex:lastPage)
set lastPage to outpdf's pageCount()
end repeat
end repeat
outpdf's writeToFile:merged_pdf
return
실행 버튼을 누르면, 어떤 파일을 Merge 할 것인지 묻는 파일 선택창이 나오고, PDF를 커맨드 키를 이용해서 순차적으로 선택하면 데스크탑에 merged.pdf 라는 파일이 생성된다.
'IT일반' 카테고리의 다른 글
AWS RDS 외부접속 안될때 (0) | 2022.11.14 |
---|---|
파이썬 Mysql 컬럼 이름으로 데이터 가져오기 (0) | 2022.11.06 |
안드로이드 Wear(Watch)에서 폰의 알림 오게 하는 방법 (0) | 2022.08.01 |
pdf 읽기 python으로 (0) | 2022.07.05 |
맥에서 파일 날짜/시간 수정하기 (0) | 2022.07.04 |
댓글