পিডিএফ-এ বুকমার্কগুলি যুক্ত এবং সম্পাদনা করুন


22

দ্বারা বুকমার্ক সহ কিছু পিডিএফ ফাইল থেকে মেটাডেটা পেয়ে pdftk, আমি পিডিএফ মেটাডেটাতে বুকমার্কগুলির ফর্ম্যাটটি পর্যবেক্ষণ করি। সুতরাং আমি অনুমান করছি যে pdftkএটির সাথে , একটি পিডিএফ ফাইলের বুকমার্কগুলি যুক্ত এবং সম্পাদনা করা সম্ভব।

আমি যে তিনটি পদক্ষেপ অনুসরণ করি তা এখানে:

  1. আমি প্রথমে পিডিএফ ফাইল থেকে মেটাটাটা (যদি থাকে তবে বুকমার্ক সহ) একটি পাঠ্য ফাইলে পেয়ে যাই pdftk in.pdf dump_data > in.info
  2. এর পরে আমি মেটাডেটা পাঠ্য ফাইলটিতে কিছু বুকমার্ক যুক্ত করছি in.info, এ থেকে এটি পরিবর্তন করে

    InfoKey: Creator
    InfoValue: PScript5.dll Version 5.2
    InfoKey: Title
    InfoValue: SSReader Print.
    InfoKey: Producer
    InfoValue: Acrobat Distiller 7.0 (Windows)
    InfoKey: Author
    InfoValue: Administrator
    InfoKey: ModDate
    InfoValue: D:20050605073244+08'00'
    InfoKey: CreationDate
    InfoValue: D:20050605073244+08'00'
    PdfID0: 591a87c91dc76881fdf2ccf3811e72a5
    PdfID1: 6b6ab11de8824e438e4f5eb1d85ec72
    NumberOfPages: 400
    PageLabelNewIndex: 1
    PageLabelStart: 1
    PageLabelNumStyle: DecimalArabicNumerals
    

    থেকে

    InfoKey: Creator
    InfoValue: PScript5.dll Version 5.2
    InfoKey: Title
    InfoValue: SSReader Print.
    InfoKey: Producer
    InfoValue: Acrobat Distiller 7.0 (Windows)
    InfoKey: Author
    InfoValue: Administrator
    InfoKey: ModDate
    InfoValue: D:20050605073244+08'00'
    InfoKey: CreationDate
    InfoValue: D:20050605073244+08'00'
    PdfID0: 591a87c91dc76881fdf2ccf3811e72a5
    PdfID1: 6b6ab11de8824e438e4f5eb1d85ec72
    NumberOfPages: 400
    BookmarkBegin
    BookmarkTitle: Front cover
    BookmarkLevel: 1
    BookmarkPageNumber: 1
    BookmarkBegin
    BookmarkTitle: About the Author
    BookmarkLevel: 1
    BookmarkPageNumber: 5
    BookmarkBegin
    BookmarkTitle: Title page
    BookmarkLevel: 1
    BookmarkPageNumber: 6
    BookmarkBegin
    BookmarkTitle: Copyright page
    BookmarkLevel: 1
    BookmarkPageNumber: 7
    BookmarkBegin
    BookmarkTitle: Foreword
    BookmarkLevel: 1
    PageLabelNewIndex: 1
    PageLabelStart: 1
    PageLabelNumStyle: DecimalArabicNumerals
    
  3. তারপরে আমি সম্পাদিত মেটাডেটা পিডিএফ ফাইলটিতে ফিরিয়ে দেওয়ার চেষ্টা করব pdftk in.pdf update_info in.info output out.pdf

তবে আমি যখন নতুন পিডিএফ ফাইলটি খোলার out.pdfবা অ্যাডোব রিডারটিতে খুলি তখন নতুন পিডিএফ ফাইলটিতে কোনও বুকমার্ক নেই is

আমি যদি নতুন পিডিএফ ফাইল থেকে মেটাডাটা পেতে out.pdfদ্বারা pdftk out.pdf dump_data > out.info, সেখানে কোনো বুকমার্ক হতে হবে out.info। দেখে মনে হচ্ছে বুকমার্কগুলি সফলভাবে যোগ করা হয়নি।

আমি ভাবছিলাম কিছু ভুল আছে কিনা? আমি কীভাবে পিডিএফ ফাইলের বুকমার্কগুলি যুক্ত করব এবং সম্পাদনা করব, পিডিএফটেকের দ্বারা প্রয়োজনীয় নয়?


1
এই ছোট গ্রাফিকাল সরঞ্জামটি আমার জন্য কাজ করেছিল। (পিডিএফ মোড 0.9.1) apps.fedoraproject.org/packages/pdfmod
অভিজিৎ

উত্তর:


12

এটি আমার কাছে সংস্করণ 1.45 (2012-12-06) এর মতো দেখায়, পিডিএফটিটক আপডেট-ইনফোর কমান্ডের মাধ্যমে বুকমার্কগুলিকে পরিবর্তনের অনুমতি দেয়:

আপনি এখন আপডেট_ইনফো ব্যবহার করে একটি পিডিএফ বুকমার্ক যুক্ত বা পরিবর্তন করতে পারেন।

এর মাধ্যমে: http://www.pdflabs.com/docs/pdftk-version-history/


3
এটি আমার পক্ষে খুব ভাল কাজ করেছে। BookmarkBeginপ্রত্যেকটি বুকমার্ক এন্ট্রি অনুপস্থিত হওয়ার আগে ট্যাগগুলির উপরে ইনপুট ফাইলটিতে এটি যুক্ত করা উচিত ।
ড্যানিয়েল্প

4

jPDFtweak (জাভা, তাই ইউনিক্স / লিনাক্সে চলে) বুকমার্কগুলিকে পরিবর্তন করতে পারে, তবে আপনি এটির সাথে কোনও স্ক্রিপ্ট করতে পারবেন কিনা তা আমি জানি না।

স্ক্রিপ্টিংয়ের জন্য, আমি অনুমান করতে পারি যে আপনার একমাত্র নেটিভ ইউনিক্স / লিনাক্স বিকল্পটি পিডিএফপেজ প্যাকেজ সহ পিডিফ্লেটেক্স হবে। আপনি যদি ইতিমধ্যে কোনও ল্যাটেক্স ব্যবহারকারী না হন তবে এটি একটি শিক্ষণীয় বাঁক।

সম্পাদনা: আসলে এটি ভূতলিপি দিয়ে সম্ভব হতে পারে: দেখুন এখানে বা এখানে বা এখানে


4

আপনি যদি এখনও সেই ইউনিক্স স্ক্রিপ্টগুলিতে আটকে থাকেন তবে

  1. থেকে বঞ্চিত বুকমার্ক ডেটা নিষ্কাশন pdftk
  2. ডাম্পড বুকমার্ক ডেটাটিকে পিডিএফমার্ক ফর্ম্যাটে রূপান্তর করতে একটি অতিরিক্ত স্ক্রিপ্ট লিখুন, যা ভূস্ট্রিপ্ট কমান্ড gsস্বীকৃত।
  3. gsতাদের পিডিএফমার্কের সাথে একত্রী করতে স্ক্রিপ্টটি ব্যবহার করুন

Http://blog.tremily.us/posts/PDF_bookmarks_with_Ghostscript/ দেখুন স্ক্রিপ্টটি pdf-merge.pyআপনি (বা আমি) যা চান ঠিক তেমন করে ।

pdf-merge.py --output=merged.pdf input1.pdf input2.pdf

তাঁর স্ক্রিপ্টে কিছু ছোটখাটো উন্নতি করা যেতে পারে

  1. ইউনিকোড হ্যান্ডলিং
  2. আউটপুট বুকমার্ক ফাইলগুলি, যাতে লোকেরা এটিকেও ঠিক করতে পারে

যাইহোক, এটি কাজ করা উচিত


এক উঁচু! ধন্যবাদ! আমি তোমার স্ক্রিপ্টের অপেক্ষায় আছি!
টিম

লিঙ্কটি কাজ করছে না বলে মনে হচ্ছে। আপনি এটা দয়া করে ঠিক করে দিতে পারবেন?
ফিশ মনিটর

4

পিডিএফটেক অবশ্যই ডান হাতিয়ার (ডান সিনট্যাক্স সহ):

BookmarkBegin
BookmarkTitle: Chapter 1
BookmarkLevel: 1
BookmarkPageNumber: 1
BookmarkBegin
BookmarkTitle: Paragraph 1.1
BookmarkLevel: 2
BookmarkPageNumber: 1

2

কালেব

আমি যতদূর বুঝতে পেরেছি, পিডিএফ স্পেস অনুযায়ী বুকমার্কগুলিকে ডায়াগনস্টিক টুলের মাধ্যমে ইনজেকশন দেওয়া যায় না pdftk। অধ্যায়গুলি এবং বুকমার্ক ল্যান্ডিং অ্যাঙ্কারগুলিকে উল্লেখ করার জন্য মেটাডেটা আপডেট করা নিশ্চিতভাবেই কাজ করবে না, এটি আপনার পিডিএফটিকে বেমানান বা অপরিবর্তিত রাখে।

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


2

এই সমস্ত ভাল উত্তর সংক্ষেপে:

নেই bmconverter প্রকল্পের GitHub থেকে বিভিন্ন পিডিএফ বুকমার্ক ফরম্যাটের রূপান্তর করতে পারেন। এটি পিডিএফটিউকে আউটপুটটিকে জেপিডিফটওয়েক ফর্ম্যাটে রূপান্তর করতে পারে, যদিও আপনি যদি jpdftweak ব্যবহার করেন তবে আপনাকে পিডিএফটি আউটপুটকে সিএসভিতে রূপান্তর করতে হবে না, কারণ আপনি jpdftweak এর মধ্যে থেকে সমস্ত কাজ করতে পারেন।

দুর্ভাগ্যক্রমে পিডিএফমার্ক প্রকল্প দ্বারা সমর্থিত নয়, তবে ভাগ্যক্রমে কেউ বিএমকনভার্টার ইস্যুতে স্ক্রিপ্ট পোস্ট করেছে যা পিডিএফটক আউটপুটকে পিডিএফমার্কে রূপান্তর করতে পারে। সুতরাং ভূস্ট্রিপ্ট ব্যাচ বিকল্পটি একটি বিকল্প


2

pdftkবুকমার্ক ফর্ম্যাটটি লিখতে কিছুটা ক্লান্তিকর। এর পরিবর্তে আমি ব্যবহার আমার নিজের স্ক্রিপ্ট নির্মিত bash, sed, pdftkএবং python3। এটি এই রেপোতে দেখুন: https://github.com/SiddharthPant/booky

সুতরাং এখন আমি bkmrks.txtএই জাতীয় একটি পাঠ্য ফাইল ( ) তৈরি করতে পারি যা 1000 পৃষ্ঠার পিডিএফ এমনকি লিখতেও 5 মিনিট সময় নেয়।

{
  Title1, 1
  Title2, 2
  {
    Subtitle1, 3
    Subtitle2, 4
    {
      SubSubtitle1, 5
      ...
    }
  }
}

এবং তারপরে আমার স্ক্রিপ্টটি ব্যবহার করুন

./booky.sh pdf_file.pdf bkmrks.txt

এটি স্বয়ংক্রিয়ভাবে একটি পিডিএফ ( pdf_file_new.pdf) তৈরি করে যা এতে আমার বুকমার্ক রয়েছে।


1

BookmarkBeginপ্রতিটি বুকমার্ক এন্ট্রি করার আগে কেবল যুক্ত করুন

BookmarkBegin
BookmarkTitle: Front cover
BookmarkLevel: 1
BookmarkPageNumber: 1
BookmarkBegin
    ⋮

0

আপনি পদক্ষেপ 1 এ পুনর্নির্দেশটি ব্যবহার করেছেন যা আপডেট_ ইনফোর সঠিকভাবে কাজ না করার কারণ হবে। পরিবর্তে আপনাকে পিডিএফটকে আউটপুট ফাইলটি নির্দিষ্ট করতে হবে:

pdftk in.pdf dump_data output in.info

অনুরূপ প্রশ্নের এই উত্তরটি দেখুন: /programming//a/30308964/3158933

আমি যে ফাইলগুলি পুনঃনির্দেশ ব্যবহার করে তৈরি করেছি তার কিছুটা বড় ফাইল আকার রয়েছে এবং আপডেট_ইনফো কমান্ড চালানোর সময় লোডডাটাফাইলে (); চালিয়ে যাওয়া "বার্তাটি" সতর্কতা: অপ্রত্যাশিত কেস 1 "জারি করার জন্য পিডিএফটিকে কারণ দেয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.