PDF를 워드 파일로 변환하고 싶어서 찾아보니

 

오픈소스도 있고 유료 솔루션도 있었다.

 

1. pdf2docx

 

오픈소스는 pdf2docx로


<User Guide>

https://pdf2docx.readthedocs.io/en/latest/

 

<Github>

https://github.com/ArtifexSoftware/pdf2docx

 

GitHub - ArtifexSoftware/pdf2docx: Open source Python library for converting PDF to DOCX.

Open source Python library for converting PDF to DOCX. - ArtifexSoftware/pdf2docx

github.com

 

 

<참조 링크>

https://wilowisp.tistory.com/entry/pdf2docx%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-pdf-%EB%B3%80%ED%99%98-%EC%BD%94%EB%93%9C

 

pdf2docx를 이용한 pdf 변환 코드

웹에서 다양한 자료들을 crawling해서 정리할 때 pdf로 된 경우 복사, 붙여넣기가 너무 힘들어서 시간이 오래걸리는 문제가 있다. 이런 번거로움을 줄이기 위해서 검색을 하다보니 pdf를 word문서인 d

wilowisp.tistory.com

 

설치는 pip 인스톨로 가능하며

PIP install pdf2docx

 

코드는 위에 참조한 블로그에 간단한 오류가 있어서

 

수정한 코드는

 

from pdf2docx import Converter
import sys
import re

if len(sys.argv) == 1 :
    print("USAGE: %s file.pdf" % sys.argv[0])
    exit()

print(sys.argv)

pdf_file = sys.argv[1]
docx_file = re.sub(".pdf", ".docx", pdf_file, flags=re.I)

conv = Converter(pdf_file)
conv.convert(docx_file, start=0, end=None)
conv.close()

 

무료이지만 별도 제약없이 AGPL로 제공되고 있다.

테스트했던 대상 파일이 42페이지 였는데 해당 페이지 모두 원본 편집양식과 유사하게 변환되었지만

한 페이지를 차지했던 큰 이미지 한장이 변환과정에서 빠져 있었다.

 

2. aspose

 

한 페이지를 차지했던 큰 이미지 한장이 변환과정에서 빠지게 되어 다른 솔루션을 찾아보게 되었다.

 

유료 솔루션은 PyPI에서 호스팅이 하고 있고 pip 설치가 가능해서 사용해 보았다.

(라이선스가 없으면 evaluation버전으로 워터마크와 변환가능한 페이지 수에 제약이 있다.)

 

평가판에서는 워터마크는 배경과 바닥글 두가지 형태로 생기며 변환 가능한 페이지 수는 20페이지였다.

 

https://blog.aspose.com/ko/words/convert-pdf-to-word-in-python/

 

Python에서 PDF 파일을 Word 문서로 변환

Python 워드 프로세싱 라이브러리를 사용하여 Python을 사용하여 PDF 파일을 Word 문서로 변환합니다. 사용자 정의 로드 옵션을 사용하여 PDF를 DOCX로 또는 PDF를 DOC로 변환합니다.

blog.aspose.com

의 내용을 참조했다.

 

내가 작성했던 코드는

 

import aspose.words as aw
import sys
import re

if len(sys.argv) == 1 :
    print("USAGE: %s file.pdf" % sys.argv[0])
    exit()

print(sys.argv)

pdf_file = sys.argv[1]

# load the PDF file
doc = aw.Document(pdf_file)

# convert PDF to Word DOCX format
doc.save("aw_test.docx")

 

 

판매사 예제에는 좀더 디테일한 변환 설정이 가능한 것으로 나왔지만 나는 말그대로 평가를 목적으로 하니 대상 파일에 대한 시험 변환으로 만족했다.

 

변환결과 워터마크나 다른 내용을 어쩔 수 없다고 하더라도 원본의 서식이 유지되지 않는 경우가 있고 원하던 이미지가 담기긴 했지만 다른 이미지가 빠지는 현상을 발견하게 되었다. 일부 부분적으로 좀더 원본에 가까운 부분도 있었기 때문에 확실하게 한쪽이 우월하다고 보긴 어려웠지만 이정도 퀄리티라면 굳이 유료버전을 선택할 이유는 없어보인다.

 

요즘 PDF 술루션이 좋아서 빠진 이미지는 다른 PDF 솔루션으로 추출하면 될 것 같다.

 

특히, pdf2docx 오픈소스가 

MuPDF라는 유료 PDF 솔루션을 판매하는 회사에서 만든 오픈 소스라 신뢰성이 있다고 느껴진다.

 

https://artifex.com/

 

Artifex

 

artifex.com

 

-----

 

테스튼는 NIST AI RMF에 대한 PDF 문서를 대상으로 진행했고 변환 결과를 첨부해 두니 참고해보기 바란다.

 

aw_test.docx
2.58MB
NIST.AI.100-1.docx
2.11MB
NIST.AI.100-1.pdf
1.85MB

Posted by 휘프노스
,