জাভাস্ক্রিপ্ট সহ পিডিএফ ফাইল তৈরি করা হচ্ছে


268

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

উত্তর:


446

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

আমি এটি লিখতে শুরু করার আগেই এই প্রশ্নটি জুড়ে এসেছিলাম এবং ভেবেছিলাম আমি ফিরে এসে আপনাকে জানাব :)

জাভাস্ক্রিপ্টে পিডিএফ তৈরি করুন

উদাহরণ একটি "হ্যালো ওয়ার্ল্ড" পিডিএফ ফাইল তৈরি করুন।

// Default export is a4 paper, portrait, using milimeters for units
var doc = new jsPDF()

doc.text('Hello world!', 10, 10)
doc.save('a4.pdf')
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.debug.js"></script>


10
আমি কি আংশিকভাবে জেএসপিডিএফকে অনুপ্রাণিত করেছি? যেদিন আপনি এটি ঘোষণা করেছিলেন আমি জেএসপিডিএফ সম্পর্কে শিখেছি। এখন পর্যন্ত দুর্দান্ত দেখাচ্ছে। আমি চিংড়ির সাথে শেষ করেছি কারণ এটি আমার প্রয়োজনীয়তার জন্য সহজেই সেরা পিডিএফ প্রজন্মের লাইব্রেরি। আমি এখনও আমার সমস্ত কাজ ইন-ব্রাউজারে করতে পছন্দ করব কারণ আমি ইতিবাচক না হওয়ায় আমি যে সিস্টেমে মোতায়েন করছি তা রুবিকে পেয়ে যাব। আমি খুব কাছ থেকে জেএসপিডিএফটি দেখছি। আমি সাহায্য করতে চাই তবে আমার সময় খুব সীমিত। ভবিষ্যতে এটি পরিবর্তন হতে পারে।
অ্যামিবা

7
আপনি এটি কিছুটা অনুপ্রাণিত করেছিলেন :), আমি ইতিমধ্যে ইন্টারনেটে এটি দেখতে পেয়েছি এবং এটি দেখেছি যে কিছু লোক এটির উপযোগী হবে। আপনি যদি সহায়তা করতে চান তবে আমাকে জানান। আমি টুইটারে এমআররিও
জেমস হল

23
এটি এখনও অনেকটা বেঁচে আছে। 0.9.0rc2 আজ মুক্তি পেয়েছে।
জেমস হল

87
@ জেমসহল, এটি লেখার জন্য আপনার যে সমস্ত কাজ করা দরকার সে জন্য আমি আপনাকে ধন্যবাদ জানাতে চাই এবং আপনার নিজের লাভের জন্য যখন এটি বাণিজ্যিকীকরণ করতে পারত তখন বিশ্বকে আরও ভাল জায়গা করার জন্য এটি এমআইটি লাইসেন্স দেওয়ার জন্য।
চার্লস বার্নস

16
ডাউনভোটাররা কী আমাদের তাদের "আরও ভাল" ধারণা বা সমাধানগুলি সরবরাহ করতে পারেন? এটি একটি দুর্দান্ত প্রচেষ্টা।
ওনুর ইল্ডারিয়াম

138

উল্লেখ করার মতো আরও একটি জাভাস্ক্রিপ্ট লাইব্রেরি পিডিএফমেক

ব্রাউজার সমর্থন jsPDF এর মত শক্তিশালী বলে মনে হয় না, বা আকারগুলির জন্য কোনও বিকল্প বলে মনে হয় না, তবে পাঠ্য বিন্যাসের বিকল্পগুলি আরও উন্নত হয় তবে বর্তমানে জেএসপিডিএফ-তে উপলব্ধ বিকল্পগুলি।


7
এই উত্তরটি আরও অনেকগুলি উপড়ে নেওয়া উচিত, পিডিএফএমকে জেএসপিডিএফ থেকে অনেক বেশি শক্তিশালী। তবে এটি কেবল একটি পার্শ্ব নোট, এটি পিডিএফকিট লাইব্রেরির চারপাশে মোড়ানো।
ভিটোরে

2
অন্য দিকে নোট, jspdf এর utf-8 সমর্থন নেই এবং পিডিএফএমকে কেবলমাত্র ডিফল্ট ফন্টের জন্য utf-8 সমর্থন রয়েছে।
লিও

"pdfmake.min.js - 0.1.22 - 9 ঘন্টা আগে" এটি মারা যায় নি, আজকে আপডেট হয়েছে।
জেনবেেনি

দুটি খেলার মাঠের তুলনা করা থেকে, আমার কাছে মনে হয় যে জেএসপিডিএফ "গ্রাফিক" পিডিএফ তৈরির দিকে বেশি লক্ষ্যযুক্ত, যেখানে পিডিএফএমকে ভাল-ফর্ম্যাট করা "প্লেইন" নথি তৈরি করতে আরও লক্ষ্যবস্তু করা হয়েছে, জেনেরিক পাঠ্য বিন্যাসের জন্য আরও অনেক বিকল্প রয়েছে বলে মনে হয়।
cslotty

এই আই বন্ধুত্বপূর্ণ?
ওয়াইল্ডহ্যামার

59

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

  • ইউনিকোডের সমর্থন সহ সাবসেটেড ফন্টগুলি এম্বেড করা হচ্ছে।
  • প্রচুর উন্নত পাঠ্য বিন্যাস সামগ্রী (কলাম, পৃষ্ঠা ভাঙ্গা, সম্পূর্ণ ইউনিকোড লাইন ব্রেকিং, বেসিক সমৃদ্ধ পাঠ্য ইত্যাদি)।
  • উন্নত টাইপোগ্রাফির জন্য আরও বেশি ফন্ট স্টাফের উপর কাজ করা (ওপেনটাইপ / এএটি লিগ্যাচার, প্রাসঙ্গিক বিকল্প ইত্যাদি)। শীঘ্রই আসছেন: আপনার আগ্রহ থাকলে ফন্টকিট শাখা দেখুন।
  • আরও গ্রাফিক্স স্টাফ: গ্রেডিয়েন্টস ইত্যাদি
  • ব্রাউসরিফি এবং স্ট্রিমের মতো আধুনিক সরঞ্জামগুলি দিয়ে তৈরি। ব্রাউজার এবং নোড উভয়ই ব্যবহারযোগ্য।

পরীক্ষা করে দেখুন http://pdfkit.org/ একটি পূর্ণ টিউটোরিয়ালের জন্য নিজের জন্য দেখতে PDFKit কি করতে পারি। এবং কী ধরনের নথি তৈরি করা যায় তার উদাহরণের জন্য, ডকসগুলি পিডিএফকিট ব্যবহার করে কিছু মার্কডাউন ফাইল থেকে উত্পন্ন পিডিএফ হিসাবে চেক করুন : http://pdfkit.org/docs/guide.pdf

আপনি এখানে ব্রাউজারে ইন্টারেক্টিভভাবে চেষ্টা করে দেখতে পারেন: http://pdfkit.org/demo/browser.html


এটি কি সার্ভার সাইড লাইব্রেরি নয়? আমি মনে করি আলোচনাটি ক্লায়েন্ট সাইড জেএস লাইব্রেরিতে রয়েছে।
অ্যাশ ক্যাচেম

10
পিডিএফকিট নোড এবং ব্রাউজার উভয় ক্ষেত্রেই উত্তর হিসাবে উল্লিখিত হিসাবে কাজ করে। একটি ব্রাউজার ডেমো লিঙ্ক দেখুন।
ডিভনগোভেট

এই চিত্রগুলি সংকুচিত করে? আমি এমন একটি ওয়েব অ্যাপে কাজ করছি যা ক্যামস্ক্যানারের অনুরূপ এবং আমি কম্প্রেশন এবং মাল্টি পৃষ্ঠার ফর্ম্যাটটি লাভ করার জন্য জাভাস্ক্রিপ্টের মাধ্যমে পিডিএফ তৈরির সন্ধান করছি।
ট্রেভর

আপনি কি আপনার লাইব্রেরি সম্পর্কে আমার প্রশ্নটি দেখতে পারেন ?
নিিনবিট

8

আর একটি আকর্ষণীয় প্রকল্প হ'ল টেক্সলাইভ.জেএস

এটি আপনাকে ব্রাউজারে টেক্স (পিএল) থেকে পিডিএফ সংকলন করতে দেয়।


হ্যালো ওয়ার্ল্ড উদাহরণটি দুর্দান্তভাবে রেন্ডার করে তবে প্রায় 30 এর দশক লাগে।
স্যাম সিপ্পে

2

আপনি কোনও লিঙ্ক যুক্ত করে এই নিখরচায় পরিষেবাটি ব্যবহার করতে পারেন যা কোনও ইউআরএল থেকে পিডিএফ তৈরি করে (যেমন: http://www.phys.org ):

http://freehtmltopdf.com/?convert=http%3A%2F%2Fwww.phys.org&size=US_Letter&orientation=portrait&framesize=800&language=en


1
আপডেট: আমি যখন এই ফ্রিহ্যামটলপিডিএফ.কম পরিষেবাটি পরীক্ষা করতে গিয়েছিলাম তখন এটি বলে যে এটি আর উপলব্ধ নেই। এটির মতো আশ্চর্যজনক লাগছিল!
মার্ক ডিউকার

এখনই চেক করা হয়েছে - কাজ করে। এবং এটি আশ্চর্যজনক, আমি এমন একটি পরিষেবা ব্যবহার করি যেখানে আমি প্রতিটি পিডিএফের জন্য অর্থ প্রদান করি এবং কোড দরকার, এটি এমন সমস্যা সমাধানকারী।
সের্গেই সোব

-29

এমনকি আপনি জাভাস্ক্রিপ্টে পিডিএফ ইন-মেমরি জেনারেট করতে পারলেও, এখনও কীভাবে সেই ডেটা ব্যবহারকারীর কাছে স্থানান্তর করবেন তা নিয়ে আপনার সমস্যা থাকবে। জাভাস্ক্রিপ্টের পক্ষে কেবলমাত্র একটি ফাইল ব্যবহারকারীর কাছে ঠেকানো শক্ত।

ব্যবহারকারীর কাছে ফাইলটি পেতে, আপনি ব্রাউজারটিকে সেভ ডায়ালগটি আনতে একটি সার্ভার জমা দিতে চান।

যা বলেছিল, পিডিএফ তৈরি করা সত্যিই খুব কঠিন নয়। শুধু অনুমান পড়ুন।


1
এটি মোটেও কঠিন নয়, উদাহরণস্বরূপ এটি ডেটা-ইউআরআই এন.ইউইউকিপিডিয়া.org / উইকি / ডেটা_উরি_স্কিমের সাথে কাজ করে বলে মনে হচ্ছে (আমি এটি আগে করেছি তবে আমি ডেটা-ইউআরআই ব্যবহার করেছি কিনা মনে নেই)।
Björn

58
আপনি আজকাল জাভাস্ক্রিপ্টে সহজেই ফাইল তৈরি করতে পারেন। (আমি ভবিষ্যত থেকে)
ডেরেক 朕 會

5
সত্যিই সহজ আজকাল .. উদাহরণস্বরূপ এই পরীক্ষা: github.com/ChenWenBrian/FileSaver.js
রায় riojas

9
@ ফ্র্যাঙ্কক্রয়েজার আপনি যদি নিজের উত্তরটি মুছে ফেলেন তবে আপনি 6 পয়েন্ট উপার্জন করতে পারবেন: পি
কামিল কিয়েস্কেজিউস্কি

8
@ ফ্র্যাঙ্কক্রিউগার, "স্পেস পড়ুন যান" এসও-তে প্রায়শই সঠিক উত্তর নয়।
কৃষ্ণন ভেঙ্কিটেশ্বরান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.