HexaPDF
PDF 처리를 위한 오픈소스 Ruby 라이브러리
오픈 소스 무료 Ruby 라이브러리를 통해 PDF 문서 생성 및 수정, PDF 파일 병합, PDF 크기 축소, 주석 추가, 이미지 및 텍스트 추출.
Portable Document Format(PDF)은 소프트웨어, 하드웨어 또는 운영 체제와 독립적인 전자 형식으로 문서를 공유하고 표시하는 데 사용할 수 있는 다중 플랫폼 파일 형식입니다. HexaPDF는 소프트웨어 개발자가 Ruby 코드를 사용하여 PDF 문서 작업을 위한 강력한 응용 프로그램을 만들 수 있도록 하는 오픈 소스 PDF 라이브러리입니다. 개발자는 최소한의 노력으로 처음부터 PDF 파일을 만들 수 있습니다.
HexaPDF는 사용 편의성과 향상된 성능을 제공하도록 설계된 순수한 Ruby 라이브러리입니다. 라이브러리에는 기존 PDF 열기 및 읽기, 기존 PDF 파일 수정, 메타 정보 및 텍스트 추출, PDF에서 이미지 및 파일 추출, PDF 파일 병합, PDF 암호화 또는 암호 해독과 같은 조작뿐만 아니라 PDF 문서 생성과 관련된 몇 가지 중요한 기능이 포함되어 있습니다. 파일, 더 작은 파일 크기 등을 위해 PDF 파일을 최적화합니다.
라이브러리는 헤더, 단락, 링크, 강조된 텍스트 등과 같은 개별 요소의 문서를 구성하기 위한 상위 레벨 레이어를 완벽하게 지원합니다. 이러한 요소는 자동으로 조정되고 사용자 정의되며 필요에 따라 수정할 수 있습니다. 추가 요소 유형을 쉽게 추가할 수 있습니다.
HexaPDF 시작하기
HexaPDF 라이브러리를 원활하게 사용하려면 먼저 설치하는 것이 중요합니다. 권장하는 설치 방법은 Rubygem을 사용하는 것입니다. 다음 명령을 사용하십시오.
Rubygem을 사용하여 HexaPDF 설치
$ gem install hexapdf
Ruby 라이브러리를 사용하여 새 PDF 만들기
오픈 소스 PDF 라이브러리 HexaPDF는 몇 가지 Ruby 명령으로 처음부터 새로운 PDF 문서를 생성할 수 있는 완벽한 기능을 제공합니다. PDF 생성을 위해서는 빈 문서 인스턴스가 필요합니다. 이제 빈 PDF 파일이 생성되면 여기에 새 페이지를 추가하고 선, 곡선, 직사각형을 그리고 텍스트를 삽입하고 색상을 적용할 수 있습니다. 선 크기를 조정하고 다른 색상과 효과를 적용할 수도 있습니다.
Ruby 라이브러리를 사용한 PDF 파일 생성
require 'hexapdf'
doc = HexaPDF::Document.new
canvas = doc.pages.add.canvas
canvas.font('Helvetica', size: 100)
canvas.text("Hello World!", at: [20, 400])
doc.write("hello_world.pdf", optimize: true)
Ruby를 통해 PDF 파일 병합
무료 PDF 라이브러리 HexaPDF를 사용하면 소프트웨어 프로그래머가 Ruby 코드를 사용하여 PDF 문서를 쉽게 결합할 수 있습니다. PDF 파일 병합은 다양한 방법으로 수행할 수 있습니다. 한 가지 간단한 방법은 소스 파일에서 대상 파일로 페이지를 가져오는 것입니다. 그러면 페이지 내용이 보존되고 파일 병합에 병합 명령을 적용할 수 있습니다. 더 복잡한 병합의 경우 HexaPDF 바이너리 명령을 사용하십시오.
HexaPDF를 사용하여 PDF 파일 병합
# imports pages of the source files into the target file. Preserves the page contents themselves.
require 'hexapdf'
target = HexaPDF::Document.new
ARGV.each do |file|
pdf = HexaPDF::Document.open(file)
pdf.pages.each {|page| target.pages << target.import(page)}
end
target.write("2.merging.pdf", optimize: true)
Ruby 라이브러리를 통해 PDF 크기 최적화
오픈 소스 PDF 라이브러리 HexaPDF는 소프트웨어 전문가가 Ruby 애플리케이션 내에서 PDF 문서의 크기를 줄이는 데 도움이 됩니다. 사용되지 않거나 삭제된 개체 제거, 개체 및 상호 참조 스트림 사용, 페이지 콘텐츠 스트림 재압축, 글꼴 하위 설정, 병합 또는 개체 등과 같이 PDF 크기를 최적화하는 데 사용할 수 있는 다양한 기술이 있습니다.
Ruby를 통해 PDF 파일 읽기 및 최적화
// Optimize PDF Size
require 'hexapdf'
HexaPDF::Document.open(ARGV.shift) do |doc|
doc.task(:optimize, compact: true, object_streams: :generate,
compress_pages: false)
doc.write('optimizing.pdf')
end
PDF 암호화 및 암호 해독 지원
HexaPDF 라이브러리를 사용하면 개발자가 Ruby 코드를 사용하여 암호화를 적용하여 PDF 문서를 보호할 수 있습니다. PDF에는 콘텐츠를 암호화하고 사용 권한을 할당하여 보안을 지원하는 기능이 내장되어 있습니다. PDF 암호화 중에 모든 문자열과 바이트 스트림이 암호화되고 메타데이터 스트림이 제외되어 PDF 파일을 구문 분석하는 동안 추출할 수 있습니다. 따라서 PDF 문서를 보는 데 관심이 있는 사람은 누구나 암호를 제공해야 합니다.
Ruby를 통해 PDF에 디지털 서명 적용
// Add Digital signatures to PDF
require 'hexapdf'
require HexaPDF.data_dir + '/cert/demo_cert.rb'
doc = HexaPDF::Document.open(ARGV[0])
doc.sign("signed.pdf", reason: 'Some reason',
certificate: HexaPDF.demo_cert.cert,
key: HexaPDF.demo_cert.key,
certificate_chain: [HexaPDF.demo_cert.sub_ca,
HexaPDF.demo_cert.root_ca])
end