फ़ोटोशॉप PSD फ़ाइल को पार्स करने के लिए ओपन सोर्स रूबी लाइब्रेरी
रूबी एपीआई जो PSD को कैनवास में परिवर्तित करने, PSD डेटा निर्यात करने, PSD स्लाइस डेटा तक पहुंचने और रूबी ऐप्स के अंदर PSD परत तक पहुंचने का समर्थन करती है।
PSD.rb एक हल्का, उपयोग में आसान ओपन सोर्स रूबी लाइब्रेरी है जो सॉफ़्टवेयर डेवलपर्स को Adobe Photoshop PSD फ़ाइल को पार्स करने या रूबी कोड का उपयोग करके मेटाडेटा और अन्य उपयोगी जानकारी निकालने में सक्षम बनाता है। पुस्तकालय उपयोगकर्ताओं को एक प्रबंधनीय वृक्ष संरचना में फ़ोटोशॉप दस्तावेज़ डेटा को संभालने की अनुमति देता है। PSD.rb को विकसित करने के पीछे का उद्देश्य नियमित रूप से फोटोशॉप PSD फाइलों के साथ काम करने वाले डेवलपर्स को बेहतर PSD स्क्रैपिंग क्षमता प्रदान करना था।
पुस्तकालय फ़ाइल तक पहुँचने और खोलने और वांछित डेटा की तलाश करने और इसे परिचालन रूप में पुनः प्राप्त करने के संबंध में सभी प्रमुख कार्यात्मकताओं को संभालता है। PSD.rb लाइब्रेरी को संभालना बहुत आसान है और डेवलपर्स को एक प्रबंधनीय पेड़ संरचना में फ़ोटोशॉप दस्तावेज़ के साथ काम करने और दस्तावेज़ आकार, दस्तावेज़ संरचना, फ़ोल्डर नाम और आकार, फ़ोल्डर की अस्पष्टता, फ़ोल्डर दृश्यता जैसे महत्वपूर्ण डेटा की खोज करने में सक्षम बनाता है। , फ़ॉन्ट नाम, फ़ॉन्ट रंग या आकार, वेक्टर मास्क डेटा, फ़्लैटेड इमेज डेटा और भी बहुत कुछ
PSD.rb . के साथ शुरुआत करना
PSD.rb को स्थापित करने का अनुशंसित तरीका RubyGems का उपयोग कर रहा है। सुचारू स्थापना के लिए कृपया निम्न कमांड का उपयोग करें।
GitHub के माध्यम से PSD.rb स्थापित करें
$ gem install psd
रूबी एपीआई का उपयोग करके PSD डेटा निर्यात करना
ओपन सोर्स PSD.rb लाइब्रेरी सॉफ्टवेयर प्रोग्रामर को रूबी कमांड का उपयोग करके आसानी से PSD फ़ाइल से डेटा निर्यात करने में सक्षम बनाती है। ट्री स्ट्रक्चर में काम करते हुए, हम किसी भी नोड को किसी ऑब्जेक्ट को रिकर्सिवली एक्सपोर्ट कर सकते हैं, जिसमें सभी सामान्य जानकारी शामिल होती है। रूबी कोड की कुछ पंक्तियों के साथ PSD को एक चपटी छवि फ़ाइल में निर्यात करना भी संभव है। कृपया इसे संगतता मोड सक्षम करके सहेजना याद रखें, अन्यथा एक खाली छवि तैयार की जाएगी
रूबी API के माध्यम से PSD डेटा निर्यात करें
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
रूबी का उपयोग करके PSD को कैनवास में बदलें
ओपन सोर्स PSD.rb लाइब्रेरी ने रूबी अनुप्रयोगों के अंदर PSD को कैनवास में परिवर्तित करने के लिए पूर्ण कार्यक्षमता प्रदान की है। पुस्तकालय आयातित PSD को पार्स करने का समर्थन करता है और इसे कैनवास वस्तुओं में परिवर्तित करता है। उसके बाद, आप PSD वस्तुओं की परतों को पुनरावृत्त कर सकते हैं और वस्तुओं को कैनवास में आसानी से जोड़ सकते हैं। उस आदेश के बाद, जोड़े गए ऑब्जेक्ट और आप कर रहे हैं। आप कैनवास को PDF, SVG, PNG, PEG, आदि में भी निर्यात कर सकते हैं।
PSD स्लाइस डेटा एक्सेस करें
PSD.rb पुस्तकालय सॉफ्टवेयर डेवलपर्स को सीधे अपने स्वयं के अनुप्रयोगों के अंदर PSD स्लाइस तक पहुंचने की क्षमता देता है। यह दस्तावेज़ में रूबी कोड की कुछ पंक्तियों के साथ सभी स्लाइस की एक सरणी प्राप्त करने का भी समर्थन करता है। स्लाइस को उनके नाम या उनकी आईडी से खोजना भी संभव है। पुस्तकालय पीएनजी के रूप में निर्यात स्लाइस के लिए भी सहायता प्रदान करता है।
रूबी API के माध्यम से एक्सेस PSD स्लाइस डेटा
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
PSD परत डेटा तक पहुंचें
खुला स्रोत PSD.rb पुस्तकालय सॉफ्टवेयर पेशेवरों को रूबी कमांड का उपयोग करके PSD परत डेटा तक पहुंचने में सक्षम बनाता है। रूबी कोड की कुछ पंक्तियों का उपयोग करके आप आसानी से एक नाम और साथ ही परत के आयाम प्राप्त कर सकते हैं। डेवलपर्स परत सूचना ब्लॉकों जैसे आकार, रंग, फोंट, आदि में संग्रहीत विभिन्न अन्य प्रकार की सूचनाओं तक भी पहुंच सकते हैं।
पहुंच PSD परत के माध्यम से रूबी 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);"}