본문 바로가기
IT일반

맥북에서 pdf 파일 합치기 macOs M1 w/Automator

by xavi2019 2022. 9. 22.

 

맥북에서 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 라는 파일이 생성된다. 

댓글