#!/usr/bin/env ruby require 'benchmark' $LOAD_PATH.unshift File.expand_path(File.join('..', '..', 'lib'), __FILE__) require 'combine_pdf' require 'bundler/setup' # You can add fixtures and/or initialization code here to make experimenting # with your gem easier. You can also use a different console, if you like. # (If you use this, don't forget to add pry to your Gemfile!) # require "pry" # Pry.start pdf = CombinePDF.load "./Ruby/test\ pdfs/filled_form.pdf" pdf.save '01_check_radio_buttuns.pdf' pdf << CombinePDF.load("./Ruby/test\ pdfs/empty_form.pdf") pdf << CombinePDF.load("./Ruby/test\ pdfs/filled_form.pdf") pdf.save '02_check_form_unification_middle_is_empty.pdf' pdf = CombinePDF.load './Ruby/test pdfs/share-font-background.pdf' pdf2 = CombinePDF.load './Ruby/test pdfs/share-font-foreground.pdf' i = 0 pdf.pages.each { |pg| pg << pdf2.pages[i] } pdf.save '03_check_font_conflict.pdf' pdf = CombinePDF.load './Ruby/test pdfs/names_go_haywire_0.pdf' pdf << CombinePDF.load('./Ruby/test pdfs/names_go_haywire_1.pdf') pdf.save '04_check_view_and_names_reference.pdf' pdf = CombinePDF.load('./Ruby/test pdfs/outlines/self_merge_err.pdf') pdf.save '05_x1_scribus_test.pdf' pdf = CombinePDF.load('./Ruby/test pdfs/outlines/self_merge_err.pdf') pdf << CombinePDF.load('./Ruby/test pdfs/outlines/self_merge_err.pdf') pdf.save '05_x2_scribus_test.pdf' # pdf = CombinePDF.load "./Ruby/test pdfs/named_dest.pdf";nil # pdf.save '05_check_named_dest_links.pdf' # this will take a while # pdf = CombinePDF.load "./Ruby/test pdfs/named_dest.pdf";nil pdf << CombinePDF.load('./Ruby/test pdfs/named_dest.pdf'); nil pdf.save '05_1_timeless_check_named_dest_links.pdf' # never ends... :-( pdf = CombinePDF.load './Ruby/test pdfs/outline_small.pdf' pdf << CombinePDF.load('./Ruby/test pdfs/outline_small.pdf') pdf.save '06_check_links_to_second_copy.pdf' lists = %w(./Ruby/test\ pdfs/outlines/self_merge_err.pdf ./Ruby/test\ pdfs/outlines/big_toc.pdf ./Ruby/test\ pdfs/outlines/bigger_toc.pdf ./Ruby/test\ pdfs/outlines/named_dest_no_toc.pdf ./Ruby/test\ pdfs/outlines/named_dest_no_toc2.pdf ./Ruby/test\ pdfs/outlines/named_dest.pdf ./Ruby/test\ pdfs/outlines/named_dest2.pdf) i = 0 lists.each { |n| CombinePDF.load(n).save("07_#{(i += 1)}_#{n.split('/')[-1]}"); (CombinePDF.load(n) << CombinePDF.load(n)).save("07_#{i}x2_#{n.split('/')[-1]}") } pdf = CombinePDF.new lists.each { |n| pdf << CombinePDF.load(n) } pdf.save('07_named destinations.pdf') CombinePDF.load("./Ruby/test\ pdfs/Scribus-unknown_err.pdf").save '08_1-unknown-err-empty-str.pdf' CombinePDF.load("./Ruby/test\ pdfs/Scribus-unknown_err2.pdf").save '08_2-unknown-err-empty-str.pdf' CombinePDF.load("./Ruby/test\ pdfs/Scribus-unknown_err3.pdf").save '08_3-unknown-err-empty-str.pdf' CombinePDF.load("/Users/2Be/Ruby/test\ pdfs/nil_object.pdf").save('09_nil_in_parsed_array.pdf') require 'prawn' IO.binwrite '10_prawn.pdf', (Prawn::Document.new { text 'Hello World!' }).render page = CombinePDF.parse((Prawn::Document.new { text 'Hello World!' }).render) pdf = CombinePDF.new pdf << page pdf.save '10_parsed_from_prawn.pdf' pdf = CombinePDF.new pdf << page << page pdf.save('10_AcrobatReader_is_unique_page.pdf') # unify = [ # "./Ruby/test\ pdfs/AESv2\ encrypted.pdf", # "./Ruby/test\ pdfs/data-in-comment.pdf", # "./Ruby/test\ pdfs/file_name.pdf", # "./Ruby/test\ pdfs/garbage_after_eof.pdf", # "./Ruby/test\ pdfs/Many\ comments.pdf", # "./Ruby/test\ pdfs/nested\ contents\ array.PDF", # "./Ruby/test\ pdfs/nested_resources.pdf", # "./Ruby/test\ pdfs/original-missing-endobje.pdf", # "./Ruby/test\ pdfs/original-multi-issue.pdf", # "./Ruby/test\ pdfs/page_stap_nil_secure.pdf", # "./Ruby/test\ pdfs/referenced\ decryption.pdf", # '', # '', # '', # '', # '', # '', # '' # ] # require 'irb' # IRB.start