Biblioteca Ruby de código aberto para analisar arquivo PSD do Photoshop
Ruby API que oferece suporte à conversão de PSD para tela, exportação de dados PSD, acesso a dados de fatias PSD e acesso à camada PSD dentro de aplicativos Ruby.
PSD.rb é uma biblioteca Ruby de código aberto leve e fácil de usar que permite que desenvolvedores de software analisem arquivos PSD do Adobe Photoshop ou extraiam Metadados e outras informações utilizáveis usando código Ruby. A biblioteca permite que os usuários manipulem dados de documentos do Photoshop em uma estrutura de árvore gerenciável. O objetivo por trás do desenvolvimento do PSD.rb era fornecer melhores recursos de raspagem de PSD para desenvolvedores que trabalham com arquivos PSD do Photoshop regularmente.
A biblioteca lida com todas as principais funcionalidades para acessar e abrir o arquivo e buscar os dados desejados e recuperá-los no formulário operacional. A biblioteca PSD.rb é muito fácil de manusear e permite que os desenvolvedores trabalhem com um documento do Photoshop em uma estrutura de árvore gerenciável e pesquisem dados importantes, como tamanho do documento, estrutura do documento, nome e tamanho da pasta, opacidade da pasta, visibilidade da pasta , nome da fonte, cor ou tamanho da fonte, dados de máscara vetorial, dados de imagem nivelados e muito mais
Introdução ao PSD.rb
A maneira recomendada de instalar o PSD.rb é usando RubyGems. Por favor, use o seguinte comando para uma instalação suave.
Instale PSD.rb via GitHub
$ gem install psd
Exportando dados PSD usando a API Ruby
A biblioteca PSD.rb de código aberto permite que programadores de software exportem dados de um arquivo PSD com facilidade usando comandos Ruby. Enquanto trabalhamos na estrutura de árvore, podemos exportar recursivamente qualquer nó para um objeto, que inclui todas as informações comuns. Também é possível exportar o PSD para um arquivo de imagem achatado com apenas algumas linhas de código Ruby. Lembre-se de salvá-lo com o modo de compatibilidade ativado, caso contrário, uma imagem vazia será produzida
Exportar PSD Dados através de Ruby API
require 'fileutils'
require 'benchmark'
require './lib/psd'
file = ARGV[0] || 'examples/images/example.psd'
psd = PSD.new(file, parse_layer_images: true)
results = Benchmark.measure "Layer image exporting" do
psd.parse!
psd.tree.descendant_layers.each do |layer|
path = layer.path.split('/')[0...-1].join('/')
FileUtils.mkdir_p("output/#{path}")
layer.image.save_as_png "output/#{layer.path}.png"
end
end
puts Benchmark::CAPTION
puts results.to_s
Converter PSD para Canvas usando Ruby
A biblioteca PSD.rb de código aberto fornece funcionalidade completa para converter PSD em tela dentro de aplicativos Ruby. A biblioteca suporta a análise do PSD importado e o converte em objetos de tela. Depois disso, você pode iterar as camadas dos objetos PSD e adicionar os objetos à tela com facilidade. Após essa ordem, os objetos adicionados e pronto. Você também pode exportar a tela para PDF, SVG, PNG, PEG e muito mais.
Acessar dados de fatias de PSD
A biblioteca PSD.rb oferece aos desenvolvedores de software a capacidade de acessar fatias PSD diretamente dentro de seus próprios aplicativos. Ele também suporta a obtenção de uma matriz de todas as fatias no documento com apenas algumas linhas de código Ruby. Também é possível pesquisar fatias pelo nome ou pelo ID. A biblioteca também oferece suporte para exportar fatias como PNG.
Acessar PSD Fatias Dados via Ruby API
require 'benchmark'
require './lib/psd'
require 'pp'
psd = nil
file = ARGV[0] || 'examples/images/example.psd'
results = Benchmark.measure "PSD parsing" do
psd = PSD.new(file)
psd.parse!
end
if psd.resources[:slices]
psd.resources[:slices].data.to_a.each do |slice|
pp slice
end
end
Acessar dados da camada PSD
A biblioteca open source PSD.rb permite aos profissionais de software dados de PSD camadas usando comandos Ruby. Você pode facilmente obter um nome, bem como da usando algumas de código Ruby. Os desenvolvedores também podem vários outros tipos de informações adas em blocos de informação da, como, cor, e assim por diante.
Acesso PSD Camada via Ruby API
//Get Name & Dimensions of a layer
psd.tree.descendant_layers.first.name
psd.tree.descendant_layers.first.width
//Get Other Layer Info
psd.tree.descendant_layers.first.text[:font]
# Returns
{:name=>"HelveticaNeue-Light",
:sizes=>[33.0],
:colors=>[[255, 19, 120, 98]],
:css=>
"font-family: \"HelveticaNeue-Light\", \"AdobeInvisFont\", \"MyriadPro-Regular\";\nfont-size: 33.0pt;\ncolor: rgba(19, 120, 98, 255);"}