pdfrw로 페이지 크기를 얻을 수 없을 때의 비망록
pdfrw를 사용하면 파이톤에서 PDF를 쉽게 조작할 수 있습니다.
그렇다고 해서 마땅한 곳이 없는 것도 아니어서 개인의 메모다.이번에는 페이지 사이즈의 취득편이다.
페이지 크기를 가져올 수 없는 질문
pdfrw
MediaBox
에서 속성을 사용하여 페이지의 크기를 목록 형식으로 얻을 수 있지만 PDF의 원인은 다음과 같다.변수 유형 문제
MediaBox
의 반환 값은 문자열 유형입니다.더하기와 빼기를 계산하려면 숫자형으로 전환해야 한다.데이터 구조 문제
공식.에 따르면 PDF는 등급 구조를 가지고 있다. 특히
MediaBox
와 Rotate
는 대부분 상부 구조의 값을 계승한다(가장 외부의 요소에 대해 사이즈를 지정하고 그 중의 요소가 모두 외주의 사이즈에 부합되는 경우 등).이런 상황에서 값을 직접 설정하지 않은 요소로부터 의존 대상의 요소에 접근하기 위해
inheritable
의 속성을 준비했다.해결책
def get_mediabox(page):
fs = []
mbox = page.MediaBox or page.inheritable.MediaBox
for m in mbox:
fs.append(float(m))
return fs
PdfReader(file_path).pages
에서 얻은 페이지 정보 목록의 각 요소에 대해 다음과 같이 호출하면 된다.import pdfrw
file_path = r"C:\Users\hogehoge.pdf"
pages = PdfReader(file_path).pages
for page in pages:
print(get_mediabox(page))
Reference
이 문제에 관하여(pdfrw로 페이지 크기를 얻을 수 없을 때의 비망록), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/awtnb/articles/449b441f3b1892텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)