如何使用Ruby编辑或编写现有PDF?

我有几个包含复杂内容的PDF模板文件以及其中的几个空白区域/区域。 我需要能够在这些空白区域中写入文本并将生成的PDF保存在文件夹中。 我搜索了这个问题的答案非常密集,但我没有找到明确的答案。 其中一个更好的解决方案是PDF :: Toolkit ,但它需要购买Adobe Acrobat才能为现有PDF文档添加可替换属性。 PHP世界拥有FPDI ,可用于简单地打开PDF文件并在现有内容上书写/绘制。 这个库有一个Ruby端口 ,但它的最后一次提交发生在2009年初。此项目看起来并不像它被广泛使用和支持。 问题是:在现有PDF上编辑,编写或绘图的Ruby方式有哪些? 这个问题似乎也没有在这里回答。 这些问题是相关的,但并不完全相同: Prawn gem:如何从* existing *文件(.xls)创建.pdf 水印现有pdf与ruby 用于操纵现有PDF的Ruby库 如何使用Ruby Prawn替换现有PDF中的单词?

如何创建一个在Ruby中扮演假的对象

我想做这个 lol = Klass.new(values) unless lol print “false” end lol.other_method # it is not nil or false, it is a Klass instance! 但在这种情况下,lol不是零或假,而是一个基于某种内在价值可以作为假的对象。 我有这个选择 lol = Klass.new(values) unless lol.to_bool print “false” end 但它是丑陋的恕我直言。 我在想扩展FalseClass或者玩==但没有成功。 有任何想法吗?

在Rails中分组选择

真的很简单的问题 – 如何将select(ActionView :: Helpers :: FormOptionsHelper)与分组选项一起使用? 我已经使用了select_tag(ActionView :: Helpers :: FormTagHelper),但我真的希望使用select标签来匹配表单的其余部分。 这可能吗? 我的选项看起来像这样: [ [‘Group 1’, [“Item 1”, “Item 2”, “Item 3”]], [‘Group 2’,[“Item 1”, “Item 2”, “Item 3”, “Item 4”]] ] 我的观点目前是: %tr#expense %td = f.text_field :value = f.hidden_field :type, :value => mode

Ruby on Rails:高级搜索

我无法理解制作高级搜索表单的最佳方法。 我在互联网上有一个很好的搜索,在某些方面,但我无法让他们工作,因为大多数建议已经过时。 我已经问了一个问题,但我认为我太具体了,我无法解决问题。 我想在一个搜索按钮上搜索不同的文本框和下拉框。 EDIT2: projects_controller: def index @projects = Project.all respond_to do |format| format.html # index.html.erb format.json { render :json => @projects } end end def search @project_search = Project.search(params[:search]).order(sort_column + ‘ ‘ + sort_direction).paginate(:per_page => 2, :page => params[:page]) end # GET /projects/1 # GET /projects/1.json def show @project = Project.find(params[:id]) respond_to do […]

如何在Ruby中的其他正则表达式中嵌入正则表达式

我有一个字符串: ‘A Foo’ 并希望在其中找到“Foo”。 我有一个正则表达式: /foo/ 我正在嵌入另一个不区分大小写的正则表达式,所以我可以按步骤构建模式: foo_regex = /foo/ pattern = /A #{ foo_regex }/i 但它不会正确匹配: ‘A Foo’ =~ pattern # => nil 如果我将文本直接嵌入到模式中,它可以工作: ‘A Foo’ =~ /A foo/i # => 0 怎么了?

如何使用Ruby阅读Excel电子表格的内容?

我试图用Ruby读取Excel电子表格文件,但它没有读取文件的内容。 这是我的剧本 book = Spreadsheet.open ‘myexcel.xls’; sheet1 = book.worksheet 0 sheet1.each do |row| puts row.inspect ; puts row.format 2; puts row[1]; exit; end 它给了我以下内容: [DEPRECATED] By requiring ‘parseexcel’, ‘parseexcel/parseexcel’ and/or ‘parseexcel/parser’ you are loading a Compatibility layer which provides a drop-in replacement for the ParseExcel library. This code makes the reading of Spreadsheet documents less […]

意外的keyword_end错误,但语法似乎很好

此函数应该从逗号分隔值文件中提取名称,并将它们放入数组中。 def xprt_csv_to_ary(csv_file) namecatcher_regex = “/^[\.{1}]([AZ]+)\.{3}/” # Matches up to char before next name current_word = 0 names_array = [] while current_word < 5000 if current_word == 0 name = csv_file.readline.match(namecatched_regex) else name = csv_file.past_match.match(namecatcher_regex) end names_array[current_word] = name current_word ++ end return names_array end 我收到以下错误: syntax error, unexpected keyword_end 我很乐意被提到一个解决我的问题的现有问题,就是让别人直接回答我。

Ruby有Expect等效的gem吗?

Ruby有Expect等效的gem吗? 我尝试在code.google和rubygems.org上搜索,但遗憾的是它没有显示出来。 仅供参考: Expect是一个Unix自动化和测试工具,由Don Libes编写,作为Tcl脚本语言的扩展,用于交互式应用程序,如telnet,f​​tp,passwd,fsck,rlogin,tip,ssh等。

在Sinatra中使用Rack :: CommonLogger

我有一个与Sinatra一起编写的小型Web服务器。 我希望能够将消息记录到日志文件中。 我通过http://www.sinatrarb.com/api/index.html和www.sinatrarb.com/intro.html阅读,我看到Rack有一个名为Rack :: CommonLogger的东西,但我找不到如何访问和用于记录消息的任何示例。 我的应用程序很简单所以我把它写成顶级DSL,但我可以切换到从SinatraBaseinheritance它,如果这是所需要的一部分。

使用Ruby在Selenium WebDriver中使用setSpeed

有没有办法在ruby中设置Selenium Webdriver的执行速度。 在perl for selenium 1(RC)中有$sel->set_speed(“500”); 但是由于Selenium RC的一些限制,我不得不转向Selenium Webdriver并且不得不开始使用Ruby,我找不到相同的function。 在某处读取选项“Slow”,“Medium”和“Fast”作为在C#和Perl中设置速度的参数,但不在Ruby中。 注意 – 我确实使用此@driver.manage.timeouts.implicit_wait = 30设置了超时,但我正在寻找执行速度。