기본 콘텐츠로 건너뛰기

라벨이 AI인 게시물 표시

[2025-07-28] python 에서 html to pdf 변환 비교

[2025-07-28] python 에서 html to pdf 변환 비교 안녕하세요. 클스 입니다. html로 작성된 문서를 RAG를 하기위해서 html을 그대로 사용해도 되지만, 불필요한 테그가 있어 비효율 적입니다. 그렇다고 테그를 제거하면 표 등 레이아웃이 깨지게 됩니다. 일반적으로   pdf가 많이 사용됩니다. 그래서 macos에서 많이 사용하는 2개의 라이브러리를 비교해보고자 합니다. 1. html 을 바로 변환하는 방법 :  weasyprint    [장점] 가볍다. 2. html 을 브라우저로 열어서 변환하는 방법 :  playwright       [장점] 풍부하게 css를 처리한다. 코드 ###### html to pdf ######### ''' 외부망에서 해야 함 brew install pango uv pip install weasyprint ''' from weasyprint import HTML html_file = '~/doc/test.html' # 1. 문자열 경로를 Path 객체로 만듭니다. path_obj = Path ( html_file ) # 2. .with_suffix() 메서드로 확장자를 변경합니다. pdf_file = path_obj .with_suffix( '.pdf' ) HTML ( filename = html_file ). write_pdf ( pdf_file ) ''' 외부망에서 해야함. # 1. Playwright 라이브러리 설치 uv pip install playwright # 2. Playwright가 제어할 브라우저(Chromium 등) 설치 (라이브러리 엄청 크네) python -m playwright install ''' import asyncio from pathlib import Path from playwright . async_api import as...

Google Colab 에 영구적인 Package 설치 방법

Google Colab 에 영구적인 Package 설치 방법 1. 개요 Google Colab을 이용하면 머신러닝에 필요한 자원을 할당받아 활용할 수 있다. 그러나 주어진 세션의 한계 (12시간 마다 초기화), 혹은 런타임 초기화 시 모든 설치된 Package가 사라진다. 여러 패키지를 사용한다면 매번 설치하는 번거로움 있다. 그래서 영구적인 설정 법을 설명한다. 2. 개념 Colab을 연결해서 사용하기 시작하면 구글 드리이브에 아래 2개 디렉토리가 자동으로 생성된다. '/content/notebooks' '/content/mnt/My Drive/Colab Notebooks' Colab을에서 기본으로 만들어주다 보니  '/content/notebooks' 이 디렉토리는 세션이 종료되거나, 런타임을 초기화 하면 전부 지워진다. 그래서 내 드라이브 하위에 생성된 '/content/mnt/My Drive/Colab Notebooks' 이 디렉토리와 심볼릭 링크를 걸어서 사용하면 된다. 3. 방법 및 소스 소스는 Colab에 붙혀넣고 실행하면 된다. 나는 다른 폴더에 만들고 싶었으나 오류가 발생하였다. # 구글 드라이브에 Python Package 영구 설치 # 이후 모든 Notebook 파일 시작에 상단을 추가해서 실행해줘야 함. 단 1회만 하면됨 import os, sys from google.colab import drive drive.mount( '/content/mnt' ) nb_path = '/content/notebooks' nb_package_path = nb_path + '/packages' my_path = '/content/mnt/My Drive/Colab Notebooks' os.symlink(my_path, nb_path, target_is_directory= True ) sys.path.insert( 0 , nb_packa...

AI, ML, Bigdata 아키텍쳐에 대한 정리

 안녕하세요. KEULSTAR 입니다. AI, ML, Bigdata 아키텍쳐에 대한 정리를  하고자 합니다. App을 만들거나, 프로젝트를 진행하다 보면 어떤것이 좋을까? 에 대한 고민은 항상   수반됩니다. 머신러닝, AI 알고리즘을 구동하려면 GPU가 있어야 되지만, 그것도 효과적으로 활용할 수 있는 Framewrok이 있어야 하고, 잘 활용할 수 있어야 합니다. 이런 것들에 대해 프로젝트 진행과 함께 포스팅 해보고자 합니다.