ঘোস্টস্ক্রিপ্ট ব্যবহার করুন, তবে চিত্রগুলি পুনরায় প্রসেস করবেন না?


30

আমার একটি পিডিএফ রয়েছে যা ইতিমধ্যে সংকুচিত এবং কিছুটা আর্টিক্যাক্ট-ওয়াই ইমেজ রয়েছে এবং আমি পিডিএফটিতে শিরোনাম পৃষ্ঠাটি প্রিপেন্ড করতে ঘোস্টস্ক্রিপ্ট ব্যবহার করছি।

তবে আমি জিএসকে বলার কোনও উপায় খুঁজে পাচ্ছি না যে কেবল বিদ্যমান চিত্রগুলি পুনরায় প্রসেস না করে কেবলমাত্র সেগুলি ব্যবহার করতে পারে, এবং এখন আমি অনুভব করছি যে জিএস কীভাবে কাজ করে এটির কিছু করার অর্থ, আপনি কোনও পিডিএফ পুনরায় সংকলন / লিঙ্ক করতে পারবেন না এর চিত্রগুলি পুনরায় প্রসেস না করে .. এটি কি সত্য?

আমি জিএস মধ্যে ডিপিআই সেটিং বাড়াতে পারেন, কিন্তু এটা 5MB থেকে 60MB যাব যখন এখনও খারাপ খুঁজছেন।

জিএস এর আরও ভাল বিকল্প আছে যা আমার যা প্রয়োজন তা করবে (সাধারণত এটি ওএস এক্সে সংকলন করবে)?


আপনি কী নিজের প্রশ্নটি সম্পাদনা করতে পারেন এবং আপনার শিরোনাম পৃষ্ঠাটি মূল পিডিএফ এ প্রিপেন্ড করতে আপনি যে সঠিক কমান্ডলাইনটি ব্যবহার করছেন তা উদ্ধৃত করতে পারেন? তারপরে আমি আপনাকে বলতে পারি চিত্রগুলির আরও ভাল আউটপুট পেতে কমান্ডলাইনটিতে ঠিক কী পরিবর্তন করতে হবে বা যুক্ত করতে হবে ...
কার্ট ফেফিল

আমি এটি আরও ভাল দেখতে চাই না, পুনরায় প্রক্রিয়া না করেই আমি মার্জ করতে চাই। এটি ক) আরও উন্নত মানের ফলাফল (ক্ষতিহীন রূপান্তর), এবং খ) আমার 1000+ পৃষ্ঠা নথির প্রসেসিংয়ের সিপিইউ সময় নষ্ট না করে।
মাহমুদ আল-কুদসি

1
আরে, আপনি আমার প্রশ্নের উত্তর দেন নি এবং আপনি যে জিএস কমান্ডলাইনটি ব্যবহার করছেন তা উদ্ধৃত করেননি। যার অর্থ: আপনি যে জিএস-এর সন্ধান করছেন সে সম্পর্কে আপনি সহায়তা পাবেন না ...
কার্ট ফেফেল

উত্তর:


44

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

 pdftk title.pdf content.pdf cat output book.pdf

এই পূর্বে লিখুন করবে title.pdf করার content.pdf এবং মধ্যে ফলাফলের লিখতে book.pdf

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

প্রস্তুতকারী Ghostscript:

আপনি যদি ঘোস্টস্ক্রিপ্ট ব্যবহার করতে চান তবে একই দুটি ফাইলকে একত্রিত করার প্রাথমিক কমান্ডটি হ'ল:

 gs \
  -o book.pdf \
  -sDEVICE=pdfwrite \
   title.pdf \
   content.pdf

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

নতুন বুক.পিডিএফ তৈরির জন্য ঘোস্টস্ক্রিপ্টের পদ্ধতিটি এর পদ্ধতির চেয়ে অনেক বেশি "বুদ্ধিমান" (তবে আরও ধীর) pdftk(এই কারণেই অনেক ক্ষেত্রে ঘোস্টস্রিপ্ট - পিছু পিডিএফ ফাইলগুলি "মেরামত" করতে, অথবা ইনপুট পিডিএফগুলিতে এম্বেড না হওয়া আউটপুট পিডিএফগুলিতে ফন্টগুলি এম্বেড করতে, বা প্রতিস্থাপন করে সদৃশ চিত্রগুলি সরাতে সক্ষম হয়) এগুলিকে কেবল রেফারেন্স ইত্যাদির সাহায্যে - এবং সামগ্রিকভাবে ছোট আকারের তৈরি করা হয়েছে, ফুলে যাওয়া ইনপুট পিডিএফ থেকে আরও ভাল অপ্টিমাইজ করা ফাইল ...)

সমাধানটি হ'ল ঘোস্টস্রিপ্টকে এর ডিফল্টগুলি ব্যবহার না করা: কমান্ড লাইনে আরও কাস্টম প্যারামিটার যুক্ত করে।

"ঘোস্টস্ক্রিপ্ট" এর পিডিএফ ইনপুট "ব্যাখ্যা করে" এর অর্থ কী ?

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

দুর্ভাগ্যক্রমে, এটি আপনার পূর্বনির্ধারিত সেটিংস অনুযায়ী চিত্রগুলির "পুনরায় প্রসারণ" ঘটায় - যা কেবল নিজের নিজস্ব (পছন্দসই) কমান্ডলাইন প্যারামিটার যুক্ত করে এড়ানো বা ওভাররাইড করা যায়।

আপনার ইমেজ সমস্যাগুলি ঘোস্টস্ক্রিপ্টের প্রয়োজনীয়তার কারণে (লাইসেন্সিং ইস্যুগুলির কারণে) জেপিইজি এনকোডিংয়ে জেপিইজি 2000 চিত্রগুলি পুনরায় এনকোড করতে পারে। আপনি যদি এড়াতে চান তবে আপনার কমান্ডলাইনে নিম্নলিখিতটি যুক্ত করুন:

-dAutoFilterColorImages=false \
-dAutoFilterGrayImages=false \
-dColorImageFilter=/FlateEncode \
-dGrayImageFilter=/FlateEncode \

অন্তর্ভুক্তগুলির জন্য বিবেচনা করার জন্য অন্যান্য চিত্র-সম্পর্কিত কমান্ডলাইন বিকল্পগুলি:

-dColorConversionStrategy=/LeaveColorUnchanged \
-dDownsampleMonoImages=false \
-dDownsampleGrayImages=false \
-dDownsampleColorImages=false \

সুতরাং আপনাকে পুরোপুরি ঘোস্টস্ক্রিপ্ট কমান্ডলাইন যা আপনাকে খুশি করতে পারে তা পড়তে হবে:

 gs \
  -o book.pdf \
  -sDEVICE=pdfwrite \
  -dColorConversionStrategy=/LeaveColorUnchanged \
  -dDownsampleMonoImages=false \
  -dDownsampleGrayImages=false \
  -dDownsampleColorImages=false \
  -dAutoFilterColorImages=false \
  -dAutoFilterGrayImages=false \
  -dColorImageFilter=/FlateEncode \
  -dGrayImageFilter=/FlateEncode \
   title.pdf \
   content.pdf

আপনি এই কমান্ডলাইনটি ব্যবহার করে আউটপুট পিডিএফগুলিতে চিত্রগুলি মোটেও সঙ্কুচিত না করতে ঘোস্টস্ক্রিপ্টকে বলতে পারেন :

 gs \
  -o book.pdf \
  -sDEVICE=pdfwrite \
  -dColorConversionStrategy=/LeaveColorUnchanged \
  -dEncodeColorImages=false \
  -dEncodeGrayImages=false \
  -dEncodeMonoImages=false \
   title.pdf \
   content.pdf


[*]:
আপনি যদি ঘোস্টস্ক্রিপ্টের পিডিফরাইট ডিভাইসটি ব্যবহার করছেন এমন ডিফল্ট সেটিংসের একটি সম্পূর্ণ তালিকা সম্পর্কে জানতে আগ্রহী হন , নীচের কমান্ডটি চালান। এটি আপনাকে সম্পূর্ণ তালিকা প্রদান করে:

 gs \
   -sDEVICE=pdfwrite \
   -o /dev/null \
   -c "currentpagedevice { exch ==only ( ) print == } forall"

এই সমস্ত পরামিতিগুলির অর্থ কী তা বোঝার জন্য আপনাকে "ডিস্টিলার প্যারামিটার" সম্পর্কে অ্যাডোব ডকুমেন্টেশনে পড়তে হবে । ঘোস্টস্ক্রিপ্ট এগুলির সমস্ত অনুকরণ করার জন্য খুব চেষ্টা করে ...


3
(অবগতির জন্য) আমার ক্ষেত্রে, পতাকা dEncodeColorImages, dEncodeGrayImages, dEncodeMonoImagesআউটপুট ফাইল কারণ আরো অনেক ব্যাপক পরিণত হয়। এগুলি সরিয়ে ফাইলে ফাইলের আকারটি 22MB থেকে 3.1MB এ পরিবর্তিত হয়েছে এবং এই পতাকা ব্যবহারের সাথে চিত্রের মানটি হ'ল মনে হয়। সকল অনন্য আমি পতাকা ব্যবহারের আছেন: dColorConversionStrategy=/LeaveColorUnchanged, dDownsampleMonoImages=false, dDownsampleGrayImages=false, dDownsampleColorImages=false, dAutoFilterColorImages=false, dAutoFilterGrayImages=false, dColorImageFilter=/FlateEncode,dGrayImageFilter=/FlateEncode
দোর

@ কুর্ট ফেফিলে কি বিকল্পগুলির জন্য অনুমোদিত -dColorImageFilter? আমি কেবল খুঁজে পেতে পারি FlateEncodeএবং DCTEncode। ডিসিটি জেপিইজি করছে বলে মনে হচ্ছে (তারা কেন এটি এনক্রিপ্ট করেছিল?)। আমি মনে করি এখন থেকে এফএলটি চিত্রের জন্য একটি পুরানো বিকল্প, যেহেতু এলজেডব্লুতে বেল ল্যাবস পেটেন্ট আর সমস্যা নেই? তবে বেশ কিছুক্ষণ অনুসন্ধান করার পরেও কীভাবে পিএনজি (বা অন্য কিছু) ব্যবহার করবেন তা আমি খুঁজে পাই না ... আমার মূল চিত্রগুলি পিএনজি এবং আমি চাই যে এগুলি অপরিবর্তিত থাকবে। আমি -c বিকল্পটি চেষ্টা করেছিলাম, তবে এটি আমাকে দেয় -c can only be used in a built with POSTSCRIPT included....
লুই সোমার্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.