Skip to content

Commit e907c47

Browse files
authored
Merge pull request #4 from mamantoha/pdf_forms_flag
add pdf_forms_flag
2 parents 2d13daa + 83dff8c commit e907c47

File tree

4 files changed

+16
-5
lines changed

4 files changed

+16
-5
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ The defaults for the render options are as follows:
4747
relative_paths: true
4848
server_flag: true
4949
javascript_flag: false
50+
pdf_forms_flag: false
5051
timeout: none
5152

5253
## Contributors

lib/princely/pdf.rb

+5-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
module Princely
44
class Pdf
5-
attr_accessor :executable, :style_sheets, :logger, :log_file, :server_flag, :media, :javascript_flag, :timeout
5+
attr_accessor :executable, :style_sheets, :logger, :log_file, :server_flag, :media, :javascript_flag, :timeout, :pdf_forms_flag
66

77
# Initialize method
88
#
@@ -14,7 +14,8 @@ def initialize(options={})
1414
:logger => nil,
1515
:server_flag => false,
1616
:media => nil,
17-
:javascript_flag => false
17+
:javascript_flag => false,
18+
:pdf_forms_flag => false,
1819
}.merge(options)
1920
@executable = options[:path] ? Princely::Executable.new(options[:path]) : options[:executable]
2021
@style_sheets = ''
@@ -23,6 +24,7 @@ def initialize(options={})
2324
@server_flag = options[:server_flag]
2425
@media = options[:media]
2526
@javascript_flag = options[:javascript_flag]
27+
@pdf_forms_flag = options[:pdf_forms_flag]
2628
@timeout = options[:timeout]
2729
end
2830

@@ -57,6 +59,7 @@ def executable_options
5759
options << "--log=#{log_file}"
5860
options << "--media=#{media}" if media
5961
options << "--javascript" if @javascript_flag
62+
options << "--pdf-forms" if @pdf_forms_flag
6063
options << @style_sheets
6164
options
6265
end

lib/princely/pdf_helper.rb

+3-2
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,11 @@ def make_pdf(options = {})
3232
:relative_paths => true,
3333
:server_flag => false,
3434
:media => nil,
35-
:javascript_flag => false
35+
:javascript_flag => false,
36+
:pdf_forms_flag => false
3637
}.merge(options)
3738

38-
prince = Princely::Pdf.new(options.slice(:server_flag, :javascript_flag, :media))
39+
prince = Princely::Pdf.new(options.slice(:server_flag, :javascript_flag, :pdf_forms_flag, :media))
3940
# Sets style sheets on PDF renderer
4041
prince.add_style_sheets(*options[:stylesheets].collect{|style| asset_file_path(style)})
4142

spec/princely/pdf_spec.rb

+7-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
it "generates a PDF from HTML" do
1111
pdf = Princely::Pdf.new.pdf_from_string html_doc
12-
expect(pdf).to start_with("%PDF-1.4")
12+
expect(pdf).to match(/\A%PDF-\d\.\d/)
1313
expect(pdf.rstrip).to end_with("%%EOF")
1414
pdf.length > 100
1515
end
@@ -78,5 +78,11 @@
7878
allow(prince).to receive(:log_file).and_return('/tmp/test_log')
7979
expect(prince.exe_path).to eql("/tmp/fake --input=html --server --log=/tmp/test_log --javascript ")
8080
end
81+
82+
it "adds the pdf-forms flag" do
83+
prince = Princely::Pdf.new(:path => '/tmp/fake', :pdf_forms_flag => true)
84+
allow(prince).to receive(:log_file).and_return('/tmp/test_log')
85+
expect(prince.exe_path).to eql("/tmp/fake --input=html --server --log=/tmp/test_log --pdf-forms ")
86+
end
8187
end
8288
end

0 commit comments

Comments
 (0)