본문 바로가기
Python

excel to pdf python(엑셀을 pdf로 변환하기)_linux environment not window

by jennyiscoding 2024. 8. 28.

리눅스에 libreoffice를 설치해야함. pip 가 아님.

Dockerfile :

RUN apt-get install -y libreoffice

변환한다음 crop작업이 포함됨

def excel_to_pdf(excel_file, output_pdf):
	try:
		# Excel을 PDF로 변환
		subprocess.run(['libreoffice', '--headless', '--convert-to', 'pdf', '--outdir', os.path.dirname(output_pdf), excel_file], check=True)
		
		# PDF 경로 설정
		cropped_pdf = output_pdf.replace('.pdf', '-cropped.pdf')

		# PDF 크롭 작업
		subprocess.run(['pdfcrop', '--margins', '10', output_pdf, cropped_pdf], check=True)
		
		# 크롭된 PDF 파일 이름을 원래 이름으로 변경
		os.replace(cropped_pdf, output_pdf)
		
		print(f"파일이 성공적으로 변환되고 크롭되었습니다: {output_pdf}")
	except subprocess.CalledProcessError as e:
		print(f"파일 변환 또는 크롭 중 오류 발생: {e}")