2013-03-22 2 views
1

Ruby on Rails에서 Wicked PDF 젬으로 PDF를 생성하지만 모든 페이지에서 일부 HTML 컨텐츠를 반복해야합니다.Wicked PDF 및 Rails로 생성 된 모든 페이지에서 HTML 반복

필자가 시도하는 것은 페이지의 일부만을 내 주요 콘텐츠에 사용하고 HTML을 사용하여 모든 페이지에 내용을 추가하는 것입니다.

Something like this image (Check)

내가 헤더와 함께 연주했지만, 나는 (심지어 Z- 인덱스를 사용하여) HTML의 앞의 내용을 넣어 수 없습니다, 단지 이익률 주요 내용을 배치 할 수 있었고, 세로로 간격을 둡니다 (가로로 옵션을 찾지 못함).

아이디어가 있으십니까? 감사!

답변

0

아무도 답변을 드리지 않았으므로 여기에 해결책을 게시하겠습니다. 그것은 아름답거나 똑똑하지 않습니다. 너무 멀리 떨어져 있습니다. 아무도 대답하지 않았기 때문에, 우리는 그것으로부터 토론을 시작할 수 있습니다.

Wicked PDF를 사용하여 배경이없는 텍스트 만 (그러나 올바른 여백을 사용하여) PDF를 생성 할 수있었습니다. Like this image. 파일을 저장하는 데 사용했습니다.

그것을 위해 코드 :이 PDF 파일로 저장된에서
# Save PDF with only the text (with correct margins) 
render :pdf => "text#{id}", 
     :margin => {:top => "1.6in", :left => "4.1in", :right => "1.2in", :bottom => "2.5in"}, 
     :page_size => "Letter", 
     :template => "careers/job_pdf_text.pdf.erb", 
     :save_to_file => Rails.root.join('public/job_pdf_tempfiles', "text#{id}.pdf"), 
     :save_only => true, 
     :no_background => true 

은 그 때 나는 이미지를 만들 RMagick을 사용했다. 여기서 중요한 것은 투명한 배경을 가진 GIF를 저장했고 Magick은 PDF의 각 페이지마다 하나의 이미지를 생성한다는 것입니다. 이 순간에 내가 텍스트, like this의 이미지를 가지고 있으므로,

# Save images from the only-text PDF 
@text_images = [] 
text_images_magick = Magick::Image.read(Rails.root.join('public/job_pdf_tempfiles', "text#{id}.pdf")) 
text_images_magick.each_with_index do |image, index| 
    file_name = Rails.root.join('app/assets/images/careers_pdf', "text#{id}-#{index}.gif") 
    image.write(file_name) 
    @text_images << file_name 
end 

확인 :이 이미지를 저장하는 코드이다. 이제는 HTML 페이지의 올바른 위치에 HTML 페이지를 넣은 다음 Wicked PDF를 다시 사용하여 최종 PDF를 렌더링했습니다. 나는 여백 0을 가진 PDF를 렌더링했고, 각 @text_images에 대해 컨테이너를 만들었는데, 그 컨테이너에서 내가 처음으로 원하는 것을 얻기 위해 다른 모든 것들 (이미지 자체 포함)을 배치했다.

공유 할 수있는 사람이 더 있습니까?

+0

텍스트의 주변이 모든 페이지에서 동일하면 텍스트처럼 pdf를 만든 다음 배경을 추가 할 수 있습니다. 뭔가 다른 도구를 사용하여 각 페이지에 대한 정적 배경으로 스탬프 처리 할 수 ​​있습니다 그것 같이 유효하다. 그런 식으로 예제에서 HTMLHTMLHTML로 표시된 배경 영역은 미리 저장된 이미지 였을 것입니다. http://ftutorials.org/Linux+systems/pdf+hacks/Chapter+6.+Dynamic+PDF/Hack+90+Superimpose+PDF+Pages/ itext는 편리합니다. pdftk가 그것을 할 수 있는지 확실하지 않습니다. 게다가. – Nenotlep

+0

pdftk는 나를 위해 멋지다! 나는 그것으로 무언가를 구현하려고 노력할 것이고 내가 유용한 것을 가지고 있다면 다시 올 것이다. 감사! – joaopribs

+0

pdftk를 사용해 보았지만 아무 소용이 없었습니다. 것은 내 껍질에서 실행할 수 있습니다,하지만 내 애플 리케이션에서 실행할 수 없습니다. backticks (')와 system()을 사용해 보았지만, 항상 다음과 같은 것을 얻었습니다 : /Users/joaopaulo/.rvm/gems/[email protected]/gems/activemodel-3.1.0 /lib/active_model/attribute_methods.rb:302 : 명령을 찾을 수 없습니다 : pdftk – joaopribs

관련 문제