Tag: pdf

将PDF / Worddocs上传到应用程序Rails后获取“nil”

因此,我正在构建一个应用程序,用户可以在其中创建Pin并将图片和PDF / Word.docs上传到Pin 。 似乎我已经做了一切来启用这些选项; 在Pins模型中创建的方法: class Pin { :medium => “300×300>”, :thumb => “100×100>” } validates_attachment :image, content_type: { content_type: [“image/jpg”, “image/jpeg”, “image/png”, “image/gif”] } validates :image, presence: true has_attached_file :document validates_attachment :document, :content_type => { :content_type => %w(application/pdf application/msword application/vnd.openxmlformats-officedocument.wordprocessingml.document) } end 在DB中生成迁移 class AddFileToPin < ActiveRecord::Migration def self.up change_table :pins do |t| […]

如何在pdf中控制有效性图标的大小

签名后,我一直在尝试至少2天来控制pdf文件的有效性图标的大小。 该图标通常由pdf阅读器设置。 我尝试过不同的方法来解决这个问题: 重新标记签名注释矩形 – 它重塑了其中的所有内容 重新标记了签名注释外观BBox – 它还重塑了文本和图标内容。 我也尝试重塑n2和n0层,并创建了一个新的n5,期望能够控制它的大小而没有成功 最后,我只想单独调整有效性图标的大小。 任何建议都应该深表感谢。 dsblank = Annotation::AppearanceStream.new.setFilter(:FlateDecode) dsblank.Type=Name.new(“XObject”) dsblank.Resources = Resources.new dsblank.BBox = [ 0, 0, width, height ] dsblank.draw_stream(‘% DSBlank’) n2 = Annotation::AppearanceStream.new.setFilter(:FlateDecode) n2.Resources = Resources.new n2.BBox = [ 0, 0, width, height ] n2.draw_stream(‘% DSBlank’) n5 = Annotation::AppearanceStream.new.setFilter(:FlateDecode) n5.Resources = Resources.new n5.BBox = [ 0, […]

Minimagick gem无法将多页PDF转换为多个png图像

我是RoR的新手,我正在尝试开发一个幻灯片共享应用程序,用户可以通过该应用程序上传和共享包含一副幻灯片(每页一张幻灯片)的多页PDF。 然后,观看者可以在“显示”页面上查看这些幻灯片。 在幕后我试图将多页pdf转换成几个.png文件(1 pdf页 – > 1.png文件),然后以轮播/滑块的方式显示它们。 这是我的上传者: # encoding: utf-8 class DocUploader < CarrierWave::Uploader::Base # Include RMagick or MiniMagick support: # include CarrierWave::RMagick include CarrierWave::MiniMagick # Choose what kind of storage to use for this uploader: storage :file # storage :fog # Override the directory where uploaded files will be stored. # This is […]

Prawn – 在text_box展开后向下移动光标

我正在使用Prawn Gem生成PDF,我无法找到一种方法在text_box从溢出文本扩展后将cursor向下移动,类似于常规text调用的方式。 Text_box示例 pad(5) { text_box payable, :at => [bounds.left, cursor], :width => 540, :height => 15, :overflow => :expand, inline_format: true } move_down(15) pad(5) { text_box address, :at => [bounds.left, cursor], :width => 250, :height => 15, :overflow => :expand, inline_format: true text_box city, :at => [250, cursor], :width => 100, :height => 15, […]

使用Ruby中的Prawn替换PDF模板中的一些文本

我使用类似于以下代码的模板在Prawn中生成PDF: Prawn::Document.new(:template => “template.pdf”) 这很好用,我可以用正常方式添加到文档中 – 但是我想搜索并替换从模板添加的一些文本。 这对Prawn有可能吗? 查看Prawn代码,它执行以下操作: if options[:template] fresh_content_streams(options) go_to_page(1) else ….. end ….. # adds a new, empty content stream to each page. Used in templating so # that imported content streams can be left pristine # def fresh_content_streams(options={}) ….. end 因此,它会创建一个新的内容流,以防止更改模板中给出的数据 – 问题是我可以查看并使用Prawn更改现有流吗?

PDFTK替代方案

我们一直在使用名为PDFTK的免费命令行实用程序,我们从Ruby on Rails应用程序进行系统调用,将PDF分成单独的页面。 但是,它仅支持PDF版本1.4并返回。 任何人都可以推荐另一个实用程序或gem / Rails插件来类似地操作更高版本的PDF吗? 谢谢

转换PDF以在任何浏览器中查看

我目前使用PDF-to-Flash来允许用户翻阅上传的PDF页面。 但是,有很多人使用iPhone / iPad,我想将其转换为适用于任何浏览器的解决方案。 该站点是在Ruby on Rails中开发的,我已经研究过使用pdf-toolkit和rmagick将PDF转换为图像,但这还不够,因为我希望页面随浏览器窗口缩放 – 因为我需要SVG不是一个选项它与IE6一起工作;) 有任何想法吗? 谢谢, G

Ruby:使用group方法时,Prawn PDF内存不足

我想要以PDF格式显示大量产品,并带有类别标题。 如果某个类别不适合当前页面,我想将其移至下一页。 为此,我正在使用Prawn的组方法。 Product.all.group_by(&:category).each do |category, products| pdf.group do # Simplified the data a bit for this example pdf.text category pdf.table products.map{ |p| [p.title, p.price] } end end 这适用于少量产品,但是当我添加超过100左右时,它需要很长时间,然后以“未能分配内存”结束。 如果我不使用组方法,则需要大约30秒。 显然,组方法不能很好地管理其内存使用。 任何建议的解决方法将不胜感激。

将元数据添加到PDF

我需要向使用prawn创建的PDF添加元数据。 这个元数据稍后可能会被pdf-reader提取出来。 此元数据将包含内部文档编号和下游工具所需的其他信息。 将元数据与PDF的每个页面相关联将是方便的。 PDF规范声称我可以将每页私有数据存储在“页面字典”中。 第14.5节规定: 页面字典(PDF 1.3)可用于保存私有的符合要求的产品数据。 数据可以通过页面对象中的可选PieceInfo条目(参见表30)或表单字典(参见表95)与页面或表单XObject相关联。 从PDF 1.4开始,私有数据也可以通过文档目录中的PieceInfo条目与PDF文档相关联(参见表28)。 如何用虾设置“页面字典”? 我正在使用虾0.12.0。 如果那是不可能的,那么我怎样才能实现在页面级别或文档级别存储每个页面元数据的目标?

如何使用Ruby Prawn替换现有PDF中的单词?

-Hello Sandeep在这里。 我是绝地大师尤达的学徒。 我的主人相信Ruby社区中的力量很强,并且选择我完成使用Ruby语言的简单任务: 我需要使用Prawn PDF gem来完成任务。 我有一个名为Dooku.pdf的现有pdf文档 – 它包含有关Evil Count Dooku活动的敏感信息。 在Dooku.pdf中有一个名为{galaxy}的文本。 {galaxy}始终位于pdf文档的每个页面上的相同位置。 我需要打开Dooku.pdf,用{planet}替换{galaxy}的每个实例,然后保存/关闭Dooku.pdf。 如何使用Prawn PDF gem完成此任务? -愿原力与你同在。