This page is not available in every language. Missing translations are disabled in the language selector.

Quick reference

PSD.rb Photoshop Parser Cheatsheet

A quick reference guide for PSD.rb: parsing Photoshop PSD documents in Ruby, layer tree traversal, vector geometry, text formatting, and layer masks.

· Published

[!NOTE] Archived Library: PSD.rb is a standalone Ruby parser for Photoshop .psd files.

PSD.rb parses PSD files into structured Ruby objects without requiring Adobe Photoshop or native C extensions.

Opening & Parsing

require 'psd'

psd = PSD.new('design.psd', parse_layer_images: true)
psd.parse!

Tree Traversal

# Root document node
node = psd.tree

# Traversal helpers
node.root
node.descendants
node.ancestors
node.siblings
node.subtree

# Filtering by layer type
groups = node.descendant_groups
layers = node.descendant_layers

Layer Properties

layer = node.children.first

layer.name         # => "Header Background"
layer.top          # => 0 (Y coordinate)
layer.left         # => 0 (X coordinate)
layer.width        # => 1440
layer.height       # => 800

layer.visible?     # => true
layer.hidden?      # => false
layer.layer?       # => true
layer.group?       # => false

layer.blending_mode # => "normal", "multiply", etc.
layer.opacity       # => 0..255 (divide by 255 for CSS opacity)

Extracting Text & Typography

if layer.text
  puts layer.text[:value]             # Text content string
  puts layer.text[:font][:name]       # Font family name (e.g. "Helvetica")
  puts layer.text[:font][:sizes]      # Array of font sizes used
  puts layer.text[:font][:colors]     # RGBA color arrays
  puts layer.text[:font][:css]        # Pre-computed CSS font definition
end

Exporting Layer Images

# Save layer image to PNG
layer.image.save_as_png("layer_#{layer.name}.png")

References

Related topics