Class: TaliaCore::DataTypes::PdfData

Inherits:
FileRecord show all
Defined in:
lib/talia_core/data_types/pdf_data.rb

Overview

Class to manage PDF data type

Instance Attribute Summary

Attributes inherited from DataRecord

#temp_path

Instance Method Summary collapse

Methods inherited from FileRecord

#all_bytes, #get_byte, #position, #reset, #seek, #size

Methods included from FileStore::ClassMethods

#find_or_create_and_assign_file

Methods included from TaliaCore::DataTypes::PathHelpers::ClassMethods

#data_path, #extract_filename, #tempfile_path

Methods included from TempFileHandling::ClassMethods

#copy_to_temp_file, #create_tempfile_path, #write_to_temp_file

Methods included from DataLoader::ClassMethods

#create_from_url

Methods included from IipLoader

#convert_original?, #create_from_files, #create_from_stream, #create_iip, #open_original_image, #open_original_image_file, #open_original_image_stream, #orig_location, #prepare_image_from_existing!

Methods included from TaliaUtil::IoHelper

#base_for, #file_url, #open_from_url, #open_generic

Methods included from TempFileHandling

#copy_to_temp_file, #random_tempfile_filename, #temp_data, #temp_data=, #temp_path, #temp_path=, #temp_paths, #write_to_temp_file

Methods included from PathHelpers

#data_directory, #data_path, #extract_filename, #file_path, #full_filename, #static_path, #tempfile_path

Methods included from FileStore

#all_text, #assign_type, #create_from_data, #create_from_file, #file, #file=, #is_file_open?, #write_file_after_save

Methods inherited from DataRecord

#all_bytes, #content_string, find_by_type_and_location!, find_data_records, #get_byte, #mime_type, #position, #reset, #seek, #size

Instance Method Details

#create_from_writer(writer_opts = {}) ⇒ Object

Create the PDF data from a PDF writer. This method needs a block which will be called with the writer object



14
15
16
17
18
19
20
21
22
23
# File 'lib/talia_core/data_types/pdf_data.rb', line 14

def create_from_writer(writer_opts = {})
  activate_pdf
  writer = PDF::Writer.new(writer_opts) do |pdf|
    yield(pdf)
  end
  filename = File.join(Dir.tmpdir, "#{rand 10E16}.pdf")
  writer.save_as(filename)
  self.create_from_file('', filename, true) # set to delete tempfile on create
  self
end

#extract_mime_type(location) ⇒ Object

return the mime_type for a file



8
9
10
# File 'lib/talia_core/data_types/pdf_data.rb', line 8

def extract_mime_type(location)
  'application/pdf'
end