একটি পিডিএফ এর নাম্বার পৃষ্ঠা


25

আমি বিভিন্ন পৃষ্ঠায় কাস্টম পৃষ্ঠা নম্বর বরাদ্দ করতে একটি স্ক্যান করা পিডিএফের মেটাডেটা সম্পাদনা করতে চাই । উদাহরণস্বরূপ, এখন পৃষ্ঠাগুলি 1-3 কি আমি আই, ii এবং iii কল করতে চাই এবং পৃষ্ঠা 4-10 কী কী আমি কল করতে চাই 1-7। আমি পৃষ্ঠাগুলির আসল ক্রমটি পরিবর্তন করতে চাই না

ক) ক) নিখরচায় সরঞ্জাম ব্যবহার করে এটি করার কোনও উপায় আছে; এবং খ) "ব্যাচে" এটি করার একটি উপায় (সুতরাং, প্রতিটি পৃষ্ঠা ম্যানুয়ালি সংশোধন না করে)।


1
আপনি লটেক্সের উপর ভিত্তি করে কোনও সমাধান নিয়ে খুশি হবেন? অন্যথায় খালি নথিতে পিডিএফ অন্তর্ভুক্ত করা এবং আপনার পছন্দমতো পিডিএফ পৃষ্ঠা নম্বর তৈরি করা সম্ভব হবে।
মার্টিন Scharrer

আমি একটি ল্যাকেক্স সমাধান দিয়ে সত্যই খুশি হব। আপনি নীচে কিছু বিশদ পোস্ট করতে পারেন?
MarkovCh1

উত্তর:


22

এখানে ল্যাটেক্স ভিত্তিক একটি সমাধান। এটি pdfpagesস্ক্যান করা পিডিএফ (এখানে বলা হয় scan.pdf) অন্তর্ভুক্ত করতে প্যাকেজটি ব্যবহার করে । আপনি যে পিডিএফ পৃষ্ঠার লেবেলগুলি চান hyperrefসেটি pdfpagelabelsবিকল্প সহ প্যাকেজটি ব্যবহার করে সেট করা যেতে পারে । এটি সাধারণ \thepageম্যাক্রোটিকে একটি লেবেল হিসাবে ব্যবহার করে যা লোকেস রোমান সংখ্যায় সংজ্ঞায়িত করা যায়। পৃষ্ঠার কাউন্টারটি পুনরায় সেট করা হয় এবং আবার সাধারণ সংখ্যায় ফিরে আসে।

\documentclass[a4paper]{article}% or use 'letterpaper'
\usepackage{pdfpages}
\usepackage[pdfpagelabels]{hyperref}
\begin{document}
% Set lower case roman numbers (\Roman would be upper case):
\renewcommand{\thepage}{\roman{page}}
\includepdf[pages=1-3]{scan.pdf}
% Back to normal (arabic) numbers:
\renewcommand{\thepage}{\arabic{page}}
% Reset page counter to 1:
\setcounter{page}{1}
\includepdf[pages=4-]{scan.pdf}
\end{document}

উপরের কোডটি একটি ফাইলে রাখুন (উদাঃ scan_mod.tex) এবং এটি দিয়ে সংকলন করুন pdflatex:

# pdflatex scan_mod

এটি উত্পাদন করবে scan_mod.pdf। তবে কোনও বিশেষ টীকা সহ। হাইপারলিঙ্কগুলি অদৃশ্য হয়ে যাবে। স্ক্যান করা পিডিএফগুলির সাথে এটি কোনও সমস্যা হওয়া উচিত নয়।

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


এই ধরনের একটি উত্তরের জন্য আপনাকে ধন্যবাদ! এটি একটি দুর্দান্ত সমাধান। কেবলমাত্র অন্য সমাধানগুলির বিষয়ে আমি জানতাম যেগুলি .NET বা সমানভাবে ভয়াবহ কিছু অন্তর্ভুক্ত ছিল, বা অ্যাডোব অ্যাক্রোব্যাটের সংলাপগুলির মাধ্যমে বেড়াচ্ছে (যা আমি কোনওভাবেই তুলতে পারি না)। এটি এমনকি স্ক্রিপ্টযোগ্য!
মার্কভ সিএইচ 1

চমৎকার সমাধান! আমি প্রতিটি বিভাগ / অধ্যায়ের শুরুর দিকে হাইপারলিঙ্কগুলি সহ বাম প্যানেলে বুকমার্কগুলি / রূপরেখার ব্যাচ প্রজন্মের একই প্রশ্ন সম্পর্কে ভাবছিলাম। এটিও ল্যাটেক্স ব্যবহার করা সম্ভব? এখানে আমার প্রশ্নটি জিজ্ঞাসাবাবু / প্রশ্ন / ২7373১২/bookmark-pdf-and-djvu-files । ধন্যবাদ!
টিম


এটি একটি দুর্দান্ত উত্তর, আমি এটি ব্যবহার করেছি এবং এটি পুরোপুরি কার্যকর হয়।
Andrea Lazzarotto

1
@ টিজিআর: হ্যাঁ, কারণ এটি মূল পিডিএফের পৃষ্ঠাগুলি একটি নতুন পিডিএফ যুক্ত করা হয়েছে এবং এই প্রক্রিয়াতে হাইপারলিঙ্কস এবং অনুরূপ জিনিসগুলি বাতিল করা হয়েছে (সুরক্ষার জন্য যেমন আমার মনে আছে)। কারণ ওপি স্ক্যান পিডিএফ সম্পর্কে ছিল এটি কোনও সমস্যা ছিল না।
মার্টিন Scharrer

10

আপনি এটি একটি পাঠ্য সম্পাদক দিয়ে করতে পারেন।

উত্তরটি যেমন বলেছে, একটি পাঠ্য সম্পাদক, অনুসন্ধান /Catalogএন্ট্রি সহ একটি পিডিএফ ফাইল খুলুন এবং তারপরে /PageLabelsএই জাতীয় নাম অন্তর্ভুক্ত করুন :

/PageLabels << /Nums [
0 << /P (cover) >> % labels 1st page with the string "cover"
1 << /S /r >> % numbers pages 2-6 in small roman numerals
6 << /S /D >> % numbers pages 7-x in decimal arabic numerals
]
>>

নোট করুন যে পৃষ্ঠা সূচকগুলি (ফিজিকাল পৃষ্ঠাগুলি) দিয়ে শুরু হয় 0

উত্স হিসাবে, আপনি স্ক্রিপ্টিং ভাষা ব্যবহার করে এটি স্বয়ংক্রিয়ভাবে করতে পারেন।

পিডিএফ স্ট্যান্ডার্ডস - পৃষ্ঠা লেবেলের বিস্তারিত বিশদ রয়েছে।


+1 এই উত্তরটি গ্রহণযোগ্য উত্তরটির চেয়ে অনেক সহজ এবং ভাল এবং স্পেকের লিঙ্কটি একটি দুর্দান্ত সহায়তা।
jja

6

জেপিডিএফ টুইক একটি ওপেন সোর্স গ্রাফিক্যাল ইউটিলিটি যা পৃষ্ঠা নম্বরটি সরবরাহ করে (সঠিক শব্দটি হচ্ছে "পৃষ্ঠা লেবেলিং") এবং উন্নত পিডিএফ সম্পাদনা বৈশিষ্ট্যগুলির আরও অনেক শিক্ষানবিশ। এটি উবুন্টু এবং অন্যান্য অপারেটিং সিস্টেমে চলে।

নথিপত্র পৃষ্ঠা ধাপে ধাপে নির্দেশাবলীর প্রদান করে।


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

যদি মূল প্রশ্নটি ব্যাচের কাজের উল্লেখ না করে তবে আমি বলব যে এই উত্তরটি সত্যই গৃহীত হওয়ার যোগ্য।
ব্রায়ান জেড

4

পিডিএফ মোড নামে একটি সরঞ্জাম রয়েছে যা একটি পিডিএফের পৃষ্ঠাগুলি পুনরায় সাজানোর জন্য একটি নিখরচায় সরঞ্জাম।

এটি উবুন্টু 10.10 এবং উচ্চতর উবুন্টু সফ্টওয়্যার কেন্দ্র থেকে ইনস্টল করা যেতে পারে।

উবুন্টু 9.10 বা 10.04 এ ইনস্টল করতে:

ppa:pdfmod-team/ppaআপনার সফ্টওয়্যার উত্সগুলিতে পিপিএ যুক্ত করার জন্য (এটি কীভাবে করবেন তা এখানে রয়েছে ) এবং সফ্টওয়্যার কেন্দ্র থেকে পিডিএফডম ইনস্টল করুন

থেকে গৃহীত: http://www.webupd8.org/2011/03/edit-pdf-documents-in-linux-with-pdf.html

শুভকামনা: ডি


4
আহ, তবে কীভাবে পৃষ্ঠাগুলি পুনরায় সাজানো যায় সে সম্পর্কে আমার প্রশ্ন জিজ্ঞাসা করছিল না। এটি পৃষ্ঠাগুলির জন্য মেটাডেটা পরিবর্তন করা ছিল: পৃষ্ঠা নম্বরগুলি পুনরায় বিড়ম্বনা করুন (প্রথম কয়েকটি পৃষ্ঠা হিসাবে রোমান সংখ্যাগুলি সন্নিবেশ করান, সম্ভবত কিছু এড়িয়ে যেতে পারেন; পিডিএফগুলি অবশ্যই পূর্ববর্তীটিকে সমর্থন করে)।
MarkovCh1

3

সবেমাত্র একটি পয়েন্টার পাওয়া গেছে যে এটির ghostscriptজন্য এটি ব্যবহার করা সম্ভব , এখানে: পিডিএফটেক - পিডিএফ - ইউনিক্স এবং লিনাক্সে বুকমার্কগুলি যুক্ত এবং সম্পাদনা করুন - স্ট্যাক এক্সচেঞ্জ # 18600 ; এটি লিঙ্কগুলি বোঝায়:

যাইহোক, উপরোক্ত বুকমার্কগুলির সাথে চুক্তি করুন - লজিকাল পৃষ্ঠাগুলির সাথে নয়। এটি pdfmarkReferences.pdf থেকে দেখা যাচ্ছে , প্রয়োজনীয় "কমান্ড" হ'ল ' /Label' (বা ' /PAGELABEL') - এবং এটি পিডিএফফারেন্স.পিডিএফ অধ্যায় 8.3.1 "পৃষ্ঠা লেবেলগুলি" বোঝায় । দুর্ভাগ্যক্রমে, অধ্যায়টি পিডিএফমার্কগুলি কীভাবে পৃষ্ঠা লেবেলগুলির সাথে ব্যবহার করা যেতে পারে তা জরুরিভাবে ব্যাখ্যা করে না - তবে এই পোস্টটি করে:

/ পেজেলবেল পিডিএফমার্কের কোনও / পৃষ্ঠার কী নেই, সুতরাং কেউ কেবল 'বর্তমান' পৃষ্ঠার জন্য লেবেল সেট করতে পারে (এবং ফলস্বরূপ, একবারে কেবল একটি পৃষ্ঠার জন্য)। যেহেতু আপনি একে একে প্রথম দিকে কল করেছেন তাই এটি 1 ম পৃষ্ঠার জন্য এবং কেবল এটির জন্য একটি লেবেল স্থাপন করবে বলে আশা করা হচ্ছে।

একই পৃষ্ঠার জন্য একাধিক / PAGELABELs: পিডিএফমার্ক রেফারেন্স বলে যে শেষটি কার্যকর হয়, তাই আপনার 1 ম কমান্ডলাইনের ফলাফলটি ঠিক আছে is নোট করুন / পৃষ্ঠা কী উপেক্ষা করা হয়।

পোস্টস্ক্রিপ্ট থেকে পৃষ্ঠা লেবেল কীভাবে সেট করবেন? আমি 2 টি পদ্ধতি সম্পর্কে চিন্তা করতে পারি:

(ক) 100% নথিভুক্ত উপায়:

প্রতিটি পৃষ্ঠার অংশ হিসাবে একটি / PAGELABEL ইস্যু করুন।

(খ) কম নথিভুক্ত উপায়: ...

gswin32c -sDEVICE=pdfwrite -sOutputFile=50pages.pdf -dNOPAUSE

GS>[/_objdef {pl} /type /dict /OBJ pdfmark
GS>[{pl} <</Nums [0 <</P (Page ) /S /r /St 10>> 2 <<>>]>> /PUT pdfmark
GS>[{Catalog} <</PageLabels {pl}>> /PUT pdfmark
GS>50 { showpage } repeat
GS>quit

... এবং আরও সেই থ্রেডে:

এই কাজটি করার মতো; যেহেতু মূল ফাইলটি পিডিএফ ফাইল, আপনি ফাইল থেকে প্রতিটি পৃষ্ঠা পৃথকভাবে চালাতে পারেন। সুতরাং আপনি পৃষ্ঠা 1 এর জন্য পেজেলবেল পিডিএফমার্ক সেট করতে পারেন, মূল ফাইল থেকে পৃষ্ঠা 1 চালান, পৃষ্ঠা 2 এর জন্য পজেলাবেল সেট করতে পারেন, মূল ফাইল থেকে পৃষ্ঠা 2 চালান এবং এ জাতীয় কিছু।

লেবেলটি (সোগস হিসাবে) বর্তমান পৃষ্ঠায় প্রয়োগ হয়েছে বলে এই আউটপুট পিডিএফ ফাইলের প্রতিটি পৃষ্ঠার জন্য সঠিকভাবে লেবেল সেট করা উচিত। (সতর্কতা: আমি আসলে এটি চেষ্টা করে দেখিনি)

সম্পাদনা করুন: কেবল এটি দেখানোর জন্য - আপনার যদি এটি pdfmarksফাইল হিসাবে সংরক্ষণ করা হয় :

[ /Label (-1) /PAGELABEL pdfmark
showpage
[ /Label (0) /PAGELABEL pdfmark
showpage
[ /Label (1) /PAGELABEL pdfmark
showpage

... এবং আপনি কল:

gs -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=outfile.pdf infile.pdf pdfmarks

... তারপরে আপনি তিনটি খালি পৃষ্ঠা পেজ infile.pdf-1, 0 এবং 1 এর লেবেলযুক্ত যুক্ত পাবেন

 

ওয়েল, সম্ভবত এটি gsপৃষ্ঠাগুলি পুনর্নির্মাণের জন্য একটি সহজ স্ক্রিপ্ট পেতে কোনও সময় সহায়তা করে :)
চিয়ার্স!

 

সম্পাদনা 2: আমি পেয়েছি, আমি মনে করি - gsউপরের মতো একই কমান্ড ব্যবহার করুন - এবং নীচে pdfmarksস্ক্রিপ্টের বিষয়বস্তু রয়েছে , যা infile.pdf পুনর্বিবেচনা করবে, সুতরাং এটি -1, 0, 1 দিয়ে শুরু হয় ... এটি মূলত একটি পরিবর্তিত উদাহরণ থেকে পিডিএফ রেফারেন্স (আরও জন্য মন্তব্য দেখুন):

% Type name (Optional) The type of PDF object that this dictionary describes; if present, must be PageLabel for a page label dictionary.
% S name (Optional) The numbering style to be used for the numeric portion of each page label:
%       D Decimal arabic numerals
%       R Uppercase roman numerals
%       r Lowercase roman numerals
%       A Uppercase letters (A to Z for the first 26 pages, AA to ZZ for the next 26, and so on)
%       a Lowercase letters (a to z for the first 26 pages, aa to zz for the next 26, and so on)
% P text string (Optional) The label prefix for page labels in this range.
% St integer (Optional) The value of the numeric portion for the first page label in the range. Subsequent pages will be numbered sequentially from this value, which must be greater than or equal to 1. Default value: 1.

% renumber first 25 pages - push each by 10, and add prefix:
% [/_objdef {pl} /type /dict /OBJ pdfmark
% [{pl} <</Nums [0 <</P (Page ) /S /D /St 10>> 25 <<>>]>> /PUT pdfmark
% [{Catalog} <</PageLabels {pl}>> /PUT pdfmark

[/_objdef {pl} /type /dict /OBJ pdfmark
[{pl} <</Nums [ 0 << /P (-1) >>         % just label -1 (no style) for pg 0;
                1 << /P (0) >>          % just label  0 (no style) for pg 1;
                2 << /S /D /St 1 >>     % decimal style, start from 1, for pg2 and on.
                ]>> /PUT pdfmark
[{Catalog} <</PageLabels {pl}>> /PUT pdfmark

গ্রেট! ধন্যবাদ, আপনি আশেপাশে রসিকতা করবেন না :)
MarkovCh1

2

এখানে একটি অজগর লিপি রয়েছে, যা কাজটি করতে পারে: https://github.com/lovasoa/pagelabels-py

আপনার ক্ষেত্রে কল করুন:

./addpagelabels.py --delete file.pdf
./addpagelabels.py --startpage 1 --type 'roman lowercase' file.pdf
./addpagelabels.py --startpage 4 --type arabic file.pdf

1
এটি একটি দুর্দান্ত সমাধান!
মাইকেমটনবাইক

1

ওপেনঅফিস / লাইব্রোফাইস পিডিএফ-আমদানি এক্সটেনশান এবং একটি পৃষ্ঠাগুলি ম্যাক্রো দিয়ে কৌশলটি করতে পারে।

একটি নিখুঁত সমাধান নয়, তবে এটি আমার পক্ষে কাজ করে (পিডিএফ মোড ব্যবহার বাদে - যা আমি দৃ strongly়ভাবে প্রস্তাব দেব)।


পিডিএফ-আমদানি এক্সটেনশানটি ওপেনঅফিস.অর্গ.২.২.২ এর জন্য সজ্জিত বলে মনে হচ্ছে। আমদানি (অঙ্কন এবং লেখকের) একটি "I / O ত্রুটি" দেয়।
MarkovCh1

0

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

আপনি পিডিএফটিকেও দেখতে পারেন , যদিও আমি স্বতন্ত্র পৃষ্ঠাগুলির সাথে সম্পর্কিত পৃষ্ঠা নম্বরটি সমর্থন করে কিনা তা পরীক্ষা করে দেখিনি । উভয়ই উবুন্টুতে প্যাকেজ হিসাবে উপলব্ধ।


1
এইচএম, পিডিএফটেক এটি করতে সক্ষম হবে বলে মনে হচ্ছে না। পিপিডিএফের মেটাডেটা বের করার জন্য অনেকগুলি পদ্ধতি রয়েছে তবে এগুলি আবার নথিতে লিখতে সক্ষম হবে বলে মনে হয় না।
MarkovCh1

0

পিডিএডিএডিট নামে আরও একটি অ্যাপ রয়েছে - এটি সোর্স ফরজে হোস্ট করা হয়েছে। উত্স ফোর্স প্রকল্প পৃষ্ঠা - তবে এটি সাহায্য করে না কারণ এটি আপনার প্রয়োজনীয় কার্যকারিতাটি দেয় না

পিডিএফডিটে পাঠ্য সম্পাদনা


1
আমি আসলে পিডিএফ সম্পাদনা পৃষ্ঠা নম্বর পরিবর্তন করতে পারে বলে মনে করি না। আমি চেষ্টা করেছি এবং সফল হতে পারি না, কোনও ক্ষেত্রেই।
MarkovCh1

2
@ সিজিজি - প্রকৃতপক্ষে, কেবলমাত্র যাচাই করা হয়েছে: ডকুমেন্টের হাতে থাকলে ডিক্ট pdfeditদেখাতে Catalog/PageLabelsপারে তবে এটি নির্বাচিত হলে বলা হয়: " এই অভিধানটিতে সরাসরি সম্পাদনাযোগ্য বৈশিষ্ট্য নেই " ... চিয়ার্স!
sdaau
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.