Prawn

 
 

ওপেন সোর্স রুবি লাইব্রেরির মাধ্যমে দ্রুত পিডিএফ জেনারেশন

ফ্রি রুবি পিডিএফ এপিআই যা প্রোগ্রামারদের পিডিএফ ফাইল তৈরি ও পরিবর্তন করতে দেয়; রুবি অ্যাপের ভিতরে একটি PDF পৃষ্ঠায় গ্রাফিক্স সন্নিবেশ, সম্পাদনা এবং পাঠ্য আঁকুন।

পোর্টেবল ডকুমেন্ট ফরম্যাট (পিডিএফ) বিশ্বজুড়ে ফাইল উপস্থাপন, ভাগ করা এবং মুদ্রণের জন্য একটি অত্যন্ত জনপ্রিয় নির্ভরযোগ্য এবং সুরক্ষিত ফাইল বিন্যাস। ওপেন সোর্স রুবি লাইব্রেরি প্রন রুবি লাইব্রেরি ব্যবহার করে পিডিএফ ডকুমেন্টের সাথে কাজ করার জন্য সম্পূর্ণ কার্যকারিতা প্রদান করেছে। লাইব্রেরিটি ব্যবহার করা খুবই সহজ এবং ডেভেলপারের কাজকে সহজ করে দিয়ে ভালোভাবে নথিভুক্ত করা হয়েছে। এটি ডেভেলপারদের সহজে একটি অত্যন্ত নমনীয় পিডিএফ ডকুমেন্ট জেনারেশন সিস্টেম তৈরি করতে সাহায্য করে। 

প্রন লাইব্রেরিতে বেশ কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য রয়েছে যা সফ্টওয়্যার বিকাশকারীদের তাদের পিডিএফ ডকুমেন্টগুলি সহজে পরিচালনা করতে সক্ষম করে, যেমন স্ক্র্যাচ থেকে পিডিএফ তৈরি করা, পিএনজি এবং জেপিজি ইমেজ এম্বেডিং, পিডিএফ-এ ভেক্টর অঙ্কন যোগ করা, বিল্ট-ইন ফন্ট এবং ট্রুটাইপ ফন্ট ব্যবহার করে, এনক্রিপশন সমর্থন ,  একটি পাসওয়ার্ড ব্যবহার করে সুরক্ষিত PDF ডকুমেন্ট, টেক্সট রেন্ডারিং সাপোর্ট, UTF-8 ভিত্তিক ফন্ট সাপোর্ট, ডান-থেকে-বামে টেক্সট রেন্ডারিং, আউটলাইন সাপোর্ট এবং আরও অনেক কিছু।

Previous Next

চিংড়ি দিয়ে শুরু করা

আপনার সিস্টেমে চিংড়ি ইনস্টল করতে, অনুগ্রহ করে নিম্নলিখিত কমান্ডটি চালান, 

RubyGems এর মাধ্যমে চিংড়ি ইনস্টল করুন

gem install prawn 

রুবি লাইব্রেরির মাধ্যমে পিডিএফ ফাইল তৈরি করুন

ওপেন সোর্স রুবি লাইব্রেরি প্রন সফ্টওয়্যার বিকাশকারীদের রুবি কোডের কয়েকটি লাইন ব্যবহার করে প্রোগ্রাম্যাটিকভাবে পিডিএফ ডকুমেন্ট তৈরি করতে সক্ষম করে। লাইব্রেরি ডিফল্ট সেটিংস এবং ফন্ট সহ PDF নথি তৈরির জন্য 3টি ভিন্ন উপায় প্রদান করেছে। এগুলি অ্যাসাইনমেন্ট, অন্তর্নিহিত ব্লক বা স্পষ্ট ব্লকের মাধ্যমে হয়। একবার তৈরি হয়ে গেলে আপনি সহজেই আপনার PDF নথির প্রতিটি অংশ অ্যাক্সেস এবং পরিবর্তন করতে পারবেন। আপনি সহজেই একটি নতুন পৃষ্ঠা যোগ করতে পারেন, পৃষ্ঠার আকার এবং মার্জিন সেট করতে পারেন, ফন্ট শৈলী পরিবর্তন করতে পারেন, ফর্ম্যাটিং প্রয়োগ করতে পারেন এবং আরও অনেক কিছু করতে পারেন৷

রুবির মাধ্যমে পিডিএফ ফাইল তৈরি ও রেন্ডার করুন


  # Using explicit block form and rendering to a file
  content = "Hello World"
  Prawn::Document.generate "example.pdf" do |pdf|
  # self here is left alone
  pdf.font "Times-Roman"
  pdf.draw_text content, :at => [200,720], :size => 32
  end
 

PDF এর ভিতরে গ্রাফিক সন্নিবেশ এবং সম্পাদনা করুন

প্রন লাইব্রেরি সফ্টওয়্যার ডেভেলপারদের রুবি কোড ব্যবহার করে তাদের পিডিএফ নথিতে ভেক্টর ড্রয়িং যোগ করার ক্ষমতা দেয়। ডেভেলপাররা PDF পৃষ্ঠায় তাদের পছন্দের যেকোনো জায়গায় সহজেই লাইন, বহুভুজ, বক্ররেখা, বৃত্ত ইত্যাদি আঁকতে পারে। লাইব্রেরিতে গ্রাফিক্সের সাথে কাজ করার জন্য বেশ কিছু গুরুত্বপূর্ণ ফাংশন অন্তর্ভুক্ত করা হয়েছে যেমন রঙ পূরণ করা, ড্যাশ শৈলী এবং প্যাটার্ন প্রয়োগ করা, লাইনের পুরুত্ব সেট করা এবং এটিতে রঙ প্রয়োগ করা, মিশ্রিত মোড ব্যবহার করা, রূপান্তর এবং সেইসাথে স্বচ্ছতা প্রয়োগ করা ইত্যাদি।

পিডিএফ ডকুমেন্টে ছবি ব্যবহার করা

ওপেন সোর্স রুবি লাইব্রেরি প্রন রুবি কমান্ড ব্যবহার করে আপনার পিডিএফ ফাইলগুলিতে ছবি সন্নিবেশ করার জন্য সমর্থন প্রদান করেছে। বর্তমানে, লাইব্রেরিতে JPEG এবং PNG ছবির জন্য সমর্থন অন্তর্ভুক্ত করা হয়েছে। পিডিএফ ফাইলের ভিতরে আপনার ছবিগুলি পরিচালনা করার জন্য বেশ কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য রয়েছে যেমন অবস্থান সামঞ্জস্য করা, চিত্র স্কেলিং সমর্থন, চিত্রের প্রস্থ এবং উচ্চতা আলাদাভাবে সেট করা, আনুপাতিকভাবে চিত্র ফিট করা ইত্যাদি।

রুবির মাধ্যমে পিডিএফ-এ ফিট করার জন্য চিত্র ও স্কেল তৈরি করুন


  Prawn::Document.generate("image2.pdf", :page_layout => :landscape) do
   pigs = "#{Prawn::DATADIR}/images/pigs.jpg"
   image pigs, :at => [50,450], :width => 450
   dice = "#{Prawn::DATADIR}/images/dice.png"
   image dice, :at => [50, 450], :scale => 0.75
  end
 

PDF পৃষ্ঠায় পাঠ্য অঙ্কন

প্রন লাইব্রেরি সফ্টওয়্যার পেশাদারদের সহজে তাদের রুবি অ্যাপ্লিকেশনের ভিতরে একটি PDF পৃষ্ঠায় পাঠ্য আঁকতে সক্ষম করে। আপনি সহজেই একটি PDF পৃষ্ঠার একটি নির্দিষ্ট অবস্থানে পাঠ্য অঙ্কন শুরু করতে পারেন। আপনি সহজেই পাঠ্যের অবস্থান সামঞ্জস্য করতে পারেন, আপনার প্রয়োজন অনুসারে পাঠ্য ঘোরাতে পারেন, ফন্টের আকার প্রয়োগ করতে পারেন, একক লাইন এবং একাধিক লাইন সমর্থন করতে পারেন এবং আরও অনেক কিছু।

রুবি লাইব্রেরির মাধ্যমে PDF পৃষ্ঠায় পাঠ্য আঁকুন

  
  def draw_text!(text, options)
   unless font.unicode? || font.class.hide_m17n_warning || text.ascii_only?
    warn "PDF's built-in fonts have very limited support for " \
      "internationalized text.\nIf you need full UTF-8 support, " \
      "consider using an external font instead.\n\nTo disable this " \
      "warning, add the following line to your code:\n" \
      "Prawn::Fonts::AFM.hide_m17n_warning = true\n"
    font.class.hide_m17n_warning = true
   end
   x, y = map_to_absolute(options[:at])
   add_text_content(text, x, y, options)
  end
 
 বাংলা