HTML에서 PDF를 생성하는 오픈 소스 Ruby 라이브러리
개발자가 HTML/CSS를 렌더링하고 고품질의 PDF로 출력할 수 있게 해주는 Ruby PDF API는 제공된 파일 또는 URL에서 PDF 문서를 생성합니다.
다양한 유형의 비즈니스는 매일 다양한 문서를 작성합니다. 이러한 문서의 대부분에는 보호해야 하는 매우 기밀이거나 사적인 데이터가 포함되어 있습니다. PDF(Portable Document Format)는 웹에서 공유하는 동안 개인 정보를 안전하게 유지하는 매우 유용하고 편리한 방법입니다. PDFKit은 소프트웨어 개발자가 일반 HTML/CSS 코드를 사용하여 PDF 파일을 생성할 수 있도록 하는 매우 유용한 Ruby 라이브러리입니다.
라이브러리는 사용하기 매우 쉽고 WebKit을 사용하여 HTML/CSS를 렌더링하고 고품질의 PDF로 출력하는 백엔드에서 wkhtmltopdf를 사용합니다. 라이브러리는 매우 유연하며 사용자가 제공된 URL에서 PDF 문서를 쉽게 생성할 수 있습니다. 라이브러리에는 HTML 코드에서 PDF 생성, PDF 수정, PDF에 스타일 추가, 머리글 및 바닥글 삽입, 테이블 페이지 나누기 등과 같은 PDF 문서 렌더링을 위한 몇 가지 중요한 기능이 포함되어 있습니다.
라이브러리는 사용자에게 앱 내에서 PDF를 생성하는 방법을 제어할 수 있는 많은 옵션을 제공했습니다. 이러한 옵션을 전역적으로 구성하고 페이지별로 설정할 수 있습니다. 페이지에서 특별히 명명된 메타 태그를 사용하여 페이지의 HTML이 PDF로 렌더링되는 방식을 제어할 수 있습니다.
.
PDFKit 시작하기
시스템에 PDFKit을 설치하려면 다음 명령을 실행하십시오.
루비 보석으로 PDFKit 설치
gem install pdfkit
Ruby를 통해 HTML에서 PDF 생성
오픈 소스 Ruby 라이브러리 PDFKit을 사용하면 소프트웨어 개발자가 자체 응용 프로그램 내부의 HTML 코드에서 PDF 문서를 생성할 수 있습니다. CSS를 사용하여 코드에 다양한 스타일을 적용한 다음 코드에서 PDF 문서를 생성할 수 있습니다. 기본적으로 A4 사이즈가 사용되는 페이지의 크기도 쉽게 설정할 수 있습니다. 메타 태그를 통해 다양한 옵션을 사용할 수도 있습니다. 해시를 사용하여 웹사이트를 스크랩하기 위해 PDFKit에 쿠키를 전달할 수도 있습니다.
PDFKit을 통해 PDF 파일 생성
# Generate PDF via Ruby
require 'pdfkit'
html = render_to_string(:layout => 'layouts/test_layout' , :action => print_form.html.erb")
kit = PDFKit.new(html)
send_data(kit.to_pdf, :filename => "Form.pdf", :type => 'application/pdf')
PDF에 머리글 및 바닥글 추가
PDFKit 라이브러리는 몇 줄의 코드로 PDF 문서 내부에 머리글과 바닥글을 추가할 수 있도록 지원합니다. PDF 머리글과 바닥글의 여백을 쉽게 설정하고 여백을 적용할 수 있습니다. 머리글과 바닥글을 쉽게 동적으로 생성할 수 있습니다. 라이브러리는 파일 또는 URL만 허용한다는 점을 기억하십시오. 원시 텍스트를 허용하지 않습니다. 깨진 링크는 피해야 합니다. 그렇지 않으면 원하는 결과를 얻을 수 없습니다.
Ruby API를 통해 PDF 데이터 로드 및 구문 분석
오픈 소스 PDF 라이브러리 PDFKit에는 Ruby 애플리케이션 내에서 PDF 파일 로드 및 구문 분석 지원이 포함되어 있습니다. 권장되는 대로 PDF 파일에서 데이터를 로드하는 것은 쉽습니다. 개발자는 메모리에서 PDF 파일을 구문 분석할 수도 있습니다. 특히 인터넷이나 다른 라이브러리를 통해 수신된 데이터의 경우 메모리에서 데이터를 로드하는 것이 매우 효과적입니다. 파싱 렌더링과 마찬가지로 메모리나 파일에 대해서도 수행할 수 있습니다.
Ruby를 통해 PDF 가이드의 제목 페이지 구문 분석
# Render PDF Title Page via Ruby
const renderTitlePage = doc => {
const title = 'PDFKit Guide';
const author = 'By Devon Govett';
const version = `Version ${require('../package.json').version}`;
doc.font('fonts/AlegreyaSans-Light.ttf', 60);
doc.y = doc.page.height / 2 - doc.currentLineHeight();
doc.text(title, { align: 'center' });
const w = doc.widthOfString(title);
doc.h1Outline = doc.outline.addItem(title);
doc.fontSize(20);
doc.y -= 10;
doc.text(author, {
align: 'center',
indent: w - doc.widthOfString(author)
});
doc.font(styles.para.font, 10);
doc.text(version, {
align: 'center',
indent: w - doc.widthOfString(version)
});
doc.addPage();
};
Ruby를 통해 기존 PDF 페이지에 텍스트 추가
오픈 소스 PDFKit 라이브러리는 소프트웨어 개발자에게 몇 줄의 Ruby 코드로 기존 PDF 파일에 텍스트나 이미지를 추가할 수 있는 기능을 제공합니다. 출력 텍스트의 표시를 사용자 정의하기 위한 다양한 옵션에 대한 지원이 포함되었습니다. 라이브러리에는 텍스트 스타일, 텍스트 측정, 글머리 기호 목록, 14개 표준 글꼴 등에 대한 지원이 포함됩니다. 또한 자동 줄 바꿈을 지원합니다. 즉, 텍스트는 페이지 여백 내에서 자동으로 줄 바꿈되고 이전 텍스트 아래의 문서 흐름에 배치됩니다.
PDFKit을 통해 PDF 콘텐츠에 서식 있는 텍스트 스타일 적용
# Rich Tex Support in PDF
doc.fillColor('green')
.text(lorem.slice(0, 500), {
width: 465,
continued: true
}).fillColor('red')
.text(lorem.slice(500));