Sha256: a3f56319f2c86276aa364de6db935536148d9d0a1d35f2de066e2658a0cf3ce7
Contents?: true
Size: 937 Bytes
Versions: 5
Compression:
Stored size: 937 Bytes
Contents
# encoding: utf-8 # # This example is mostly just for fun, and shows how nested bounding boxes # can simplify calculations. See the other files in examples/bounding_box # for more basic uses. $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib')) require 'prawn' class Array def combine(arr) output = [] self.each do |i1| arr.each do |i2| output += [[i1,i2]] end end output end end def recurse_bounding_box(pdf, max_depth=5, depth=1) box = pdf.bounds width = (box.width-15)/2 height = (box.height-15)/2 left_top_corners = [5, box.right-width-5].combine [box.top-5, height+5] left_top_corners.each do |lt| pdf.bounding_box(lt, :width=>width, :height=>height) do pdf.stroke_bounds recurse_bounding_box(pdf, max_depth, depth+1) if depth<max_depth end end end Prawn::Document.generate("russian_boxes.pdf") do |pdf| recurse_bounding_box(pdf) end
Version data entries
5 entries across 5 versions & 2 rubygems