শব্দটি সম্ভবত কেবল আপস্কেল করা চিত্র সরবরাহ করে এবং প্রিন্টার ইনপুট হিসাবে সেভাবে প্রেরণ করে (আমি অনুমান করি যে ডিস্টিলার একটি প্রিন্টার হিসাবে কাজ করে)। যদি তা হয় তবে তা স্বাভাবিক প্রিন্টারের পক্ষে ভাল তবে পিডিএফ ফাইল তৈরির নকল প্রিন্টারগুলির পক্ষে অদক্ষ।
উদাহরণস্বরূপ pdfLaTeX আউটপুট ফাইলে চিত্রটি সঠিকভাবে এম্বেড করে। আমার পিডিএফটি min.us গ্যালারিতে আপলোড করুন: লটেক্স ডকুমেন্টে চিত্র এম্বেড করা
পিডিএফ উত্পাদনকারী স্ট্যাকটি আপনি ব্যবহার করছেন তা গুরুত্বপূর্ণ বিষয়। যদি দুর্দান্ত এবং ফ্রি পিডিএফক্রিটরের মতো অন্য পিডিএফ প্রিন্টারের চেষ্টা করা সমস্যাটি ঠিক না করে, তবে আপনার ডেডিকেটেড পিডিএফ এক্সপোর্ট ব্যবহার করার চেষ্টা করা উচিত, অর্থাৎ প্রিন্টার হিসাবে কাজ না করা। আফাইক সাম্প্রতিক ওয়ার্ড সংস্করণগুলিতে পিডিএফ রফতানি অন্তর্নির্মিত রয়েছে, সুতরাং এটি যদি সঠিকভাবে প্রয়োগ করা হয় তবে আপনি ডকুমেন্টে ব্যবহৃত চিত্রগুলি এম্বেড করার জন্য একটি ছোট ফাইল পাবেন।
বিশাল সম্পাদনা
গ্যালারীটির নতুন নাম বনাম ওয়ার্ডে পিএনজি চিত্র এম্বেডিং করা হয়েছে
আমি mytest.pdf
পিডিএফএলএটেক্স দ্বারা উত্পাদিত এবং test2.pdf
ওয়ার্ড দ্বারা উত্পাদিত আপনার আরও ভালভাবে দেখেছি ।
mytest.pdf
test2.pdf
আসুন সঙ্কুচিত সঙ্গে শুরু করা যাক। আপনি যদি সঙ্কুচিত ফাইলটি দেখুন তবে আপনি সহজেই চিত্র স্ট্রিমের শুরুটি দেখতে পাবেন ( <<...>>stream
প্রস্থ এবং উচ্চতা প্যারামিটারগুলির সাথে রেখা, একই হিসাবে test.png
অর্থাত্ 176x295), যা endstream
ট্যাগ দিয়ে শেষ হয় । উঁকি দেওয়ার সময়।
(এই মুহুর্তে সতর্কতা
test2.pdf
$ pdftk test2.pdf output test2uc.pdf uncompress
$ sed '\,^<</Width 176[^>]*/Height 295[^>]*>>stream$,!d' test2uc.pdf
<</Width 176/BitsPerComponent 8/Interpolate true/Height 295/Filter[/DCTDecode]/Subtype/Image/Length 20003/ColorSpace/DeviceRGB/Type/XObject>>stream
$ sed '1,\,^<</Width 176[^>]*/Height 295[^>]*>>stream$,d;/^endstream$/,$d' test2uc.pdf > test2stream
$ xxd test2stream | head -10
0000000: ffd8 ffe0 0010 4a46 4946 0001 0101 0048 ......JFIF.....H
0000010: 0048 0000 ffe1 005c 4578 6966 0000 4d4d .H.....\Exif..MM
0000020: 002a 0000 0008 0004 0302 0002 0000 0016 .*..............
0000030: 0000 003e 5110 0001 0000 0001 0100 0000 ...>Q...........
0000040: 5111 0004 0000 0001 0000 0b13 5112 0004 Q...........Q...
0000050: 0000 0001 0000 0b13 0000 0000 5068 6f74 ............Phot
0000060: 6f73 686f 7020 4943 4320 7072 6f66 696c oshop ICC profil
0000070: 6500 ffe2 0c58 4943 435f 5052 4f46 494c e....XICC_PROFIL
0000080: 4500 0101 0000 0c48 4c69 6e6f 0210 0000 E......HLino....
0000090: 6d6e 7472 5247 4220 5859 5a20 07ce 0002 mntrRGB XYZ ....
$ file test2stream
test2stream: JPEG image data, JFIF standard 1.01
সুতরাং ওয়ার্ড পিএনজি এর পরিবর্তে জেপিইগিকে এর পিডিজি এর অভ্যন্তরীণ আউটপুটটিতে পিডিএফ প্রসেসিংয়ের জন্য দিচ্ছে। এইমাত্র! প্রিন্টারে আউটপুট প্রেরণের সময় একই জিনিস ঘটতে পারে।
test2stream.jpg
mytest.pdf
$ pdftk mytest.pdf output mytestuc.pdf uncompress
$ sed '\,^<</Width 176[^>]*/Height 295[^>]*>>stream$,!d' mytestuc.pdf
<</Width 176/BitsPerComponent 8/Height 295/Subtype/Image/Length 155760/ColorSpace/DeviceRGB/Type/XObject>>stream
$ sed '1,\,^<</Width 176[^>]*/Height 295[^>]*>>stream$,d;/^endstream$/,$d' mytestuc.pdf > myteststream
$ xxd myteststream | head -10
0000000: ebeb ebea eaea ecec eceb ebeb ebeb ebeb ................
0000010: ebeb ebeb ebec ecec ebeb ebeb ebeb ebeb ................
0000020: ebeb ebeb ebeb ebeb ebeb ebeb ebeb ebeb ................
0000030: ebeb ebea eaea eaea eaec ecec eaea eaec ................
0000040: ecec ebeb ebec ecec ebeb ebeb ebeb ebeb ................
0000050: ebeb ebeb ebeb ebeb ebeb ebeb ebeb ebeb ................
0000060: ebeb ebeb ebeb ebeb ebeb ebeb ebeb ebeb ................
0000070: ebeb ebeb ebeb ebeb ebeb ebeb ebeb ebeb ................
0000080: ebea eaea ecec eceb ebeb ebeb ebea eaea ................
0000090: ebeb ebeb ebeb ebeb ebeb ebeb ebeb ebeb ................
$ file myteststream
myteststream: DOS executable (COM)
এটি COM ফাইল নয়, তবে এটি পিএনজিও নয়।
$ du -b test.png test2stream myteststream
57727 test.png
20004 test2stream
155761 myteststream
তুমি এখন দেখছ? পিডিএফএলএএক্সএক্স দ্বারা উত্পাদিত পিডিএফ থেকে চিত্র স্ট্রিম (পিএনজির) সম্ভবত সহজ কাঁচা ফর্ম্যাট (176 * 295 * 3 = 155760, 1 অতিমাত্রায় নিউলাইন থেকে আসে)। আসুন এটি যাচাই করুন:
$ convert -depth 8 -size 176x295 rgb:myteststream myteststream.png
এবং আমরা আমাদের মূল ইমেজ ফিরে আছে! না, অপেক্ষা করুন। দেখে মনে হচ্ছে পিডিএফটেক ১.৪৪ অবিরাম চাপটি বগি এবং কয়েকটি ত্রুটিযুক্ত চিত্রের সাথে চিত্র প্রায় একই ছিল। আমি পিডিএফটেক ১.৪৪ এ আপগ্রেড করেছি, তবে এই সংস্করণটি চিত্র স্ট্রিমটি মোটেও সঙ্কুচিত করে না। তবুও পিডিএফটেক এক লাইনে স্ট্রিম ডিকশনারি আউটপুট দেয় না, সুতরাং সেড ব্যবহার করে উপরের এক্সট্রাকশনটি আর কাজ করে না, তবে এখনই এটি ঠিক করার কোনও মানে নেই।
সুতরাং আমরা ওয়ার্ড সম্পর্কে কি করতে পারি? বেশি মেথিংকস নয়। কমপক্ষে আপনি এম্বেড করা চিত্রটি একটি পিডিএফ থেকে অন্য পিডিএফতে স্থানান্তর করতে পারেন। আমি সাম্প্রতিক পিডিএফটিকে ব্যবহার করে দুটি পিডিএফ-এর সংকোচনের পুনরাবৃত্তি করেছি, সেগুলি ভিমে খুললাম, এর test2uc.pdf
<<...>>stream...endstream
থেকে প্রতিরূপে প্রতিস্থাপন করেছি mytestuc.pdf
, হিসাবে সংরক্ষণ করা হয়েছে test2fixuc.pdf
এবং সংকুচিত হয়েছে test2fix.pdf
।
test2fix.pdf
test.pdf
সর্বোপরি আপনার বড় পিডিএফ না পরীক্ষা করা পাপ হবে। ঠিক আছে, আমি পিডিএফটিকে 1.44 অসম্পূর্ণ পিডিএফগুলির সাথে খেলতে ইমেজ স্ট্রিমগুলি এবং ফাইলে তাদের প্রারম্ভিক রেখাগুলি তালিকা তৈরি করার জন্য আরও একটি অনিলিনার প্রস্তুত করেছি। সুতরাং আমি সংকোচনের সাথে শুরু করব test.pdf
।
(এই মুহুর্তে পিডিএফটিকে সতর্কতা সংস্করণ 1.44 হিসাবে ধরে নেওয়া হয়েছে)
$ pdftk test.pdf output testuc.pdf uncompress
$ awk '{if(i)h=h$0} /^[0-9]+ [0-9]+ obj $/{i=1;h=""}/^stream$/{i=0;if(h!~/\/Image/)next;print h,":"NR+1}' testuc.pdf
<</ColorSpace /DeviceRGB/Subtype /Image/Length 10443804/Width 707/Type /XObject/BitsPerComponent 8/Height 4924>>stream :619
<</ColorSpace /DeviceRGB/Subtype /Image/Length 11264460/Width 953/Type /XObject/BitsPerComponent 8/Height 3940>>stream :12106
<</ColorSpace /DeviceRGB/Subtype /Image/Length 2813256/Width 953/Type /XObject/BitsPerComponent 8/Height 984>>stream :12910
<</ColorSpace /DeviceRGB/Subtype /Image/Length 11264460/Width 953/Type /XObject/BitsPerComponent 8/Height 3940>>stream :18547
<</ColorSpace /DeviceRGB/Subtype /Image/Length 2813256/Width 953/Type /XObject/BitsPerComponent 8/Height 984>>stream :19312
<</ColorSpace /DeviceRGB/Subtype /Image/Length 4845216/Width 328/Type /XObject/BitsPerComponent 8/Height 4924>>stream :19326
সত্যিই কিছু এখানে উন্মাদ! Raw টি কাঁচা চিত্র (স্পষ্টত এই বারে পিডিফটকে তাদের সংকোচনে কোনও সমস্যা হয়নি) 43444452 বাইট একসাথে তোলা! আসুন পুনরায় যাচাই করা test2uc.pdf
এবং mytestuc.pdf
।
$ awk '{if(i)h=h$0} /^[0-9]+ [0-9]+ obj $/{i=1;h=""}/^stream$/{i=0;if(h!~/\/Image/)next;print h,":"NR+1}' test2uc.pdf
<</Width 176/BitsPerComponent 8/Interpolate true/Height 295/Filter /DCTDecode/Subtype /Image/Length 20003/ColorSpace /DeviceRGB/Type /XObject>>stream :113
przemoc@debian:~/latex/test/img/mod$ awk '{if(i)h=h$0} /^[0-9]+ [0-9]+ obj $/{i=1;h=""}/^stream$/{i=0;if(h!~/\/Image/)next;print h,":"NR+1}' mytestuc.pdf
<</DecodeParms <</Colors 3/Columns 176/Predictor 10/BitsPerComponent 8>>/Width 176/BitsPerComponent 8/Height 295/Filter /FlateDecode/Subtype /Image/Length 54954/ColorSpace /DeviceRGB/Type /XObject>>stream :22
উভয় ক্ষেত্রে কেবল একটি চিত্র স্ট্রিম। সেখানে হেক কেন তাদের আরও হতে পারে ?!
$ sed '1,618d;/^endstream $/q' testuc.pdf | convert -depth 8 -size 707x4924 rgb:- testuc-stream1.png
$ sed '1,12105d;/^endstream $/q' testuc.pdf | convert -depth 8 -size 953x3940 rgb:- testuc-stream2.png
$ sed '1,12909d;/^endstream $/q' testuc.pdf | convert -depth 8 -size 953x984 rgb:- testuc-stream3.png
$ sed '1,18546d;/^endstream $/q' testuc.pdf | convert -depth 8 -size 953x3940 rgb:- testuc-stream4.png
$ sed '1,19311d;/^endstream $/q' testuc.pdf | convert -depth 8 -size 953x984 rgb:- testuc-stream5.png
$ sed '1,19325d;/^endstream $/q' testuc.pdf | convert -depth 8 -size 328x4924 rgb:- testuc-stream6.png
চিত্রটি অনেক টুকরো টুকরো করা হয়েছিল ... দেখে মনে হচ্ছে এটি একরকম নির্বোধ সুরক্ষা, সম্ভবত ডিস্টিলার দ্বারা প্রবর্তিত (এবং সম্ভবত এটি বন্ধ করা যেতে পারে)? আমি সন্দেহ করি যে পিডিএফক্রিটর দ্বারা একই জিনিস থুতু দেওয়া হবে, যদি না এই শব্দটি যিনি এই অবিশ্বাস্য উন্মাদনা সম্পাদন করেন ...
testuc -stream1.png এবং অন্যান্য (নেভিগেট করতে ডান তীর ব্যবহার করুন)
উপসংহার
গুরুত্বপূর্ণ জিনিসগুলি হ'ল:
- আপনি স্পষ্ট দেখতে পাচ্ছেন যে বিশাল চিত্রটি টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো করা
- কারণ পিডিএফক্রিটরে আপনি আউটপুটেও বিশাল ফাইল পেয়ে যান, এটি ওয়ার্ডটি নকল পিডিএফ প্রিন্টারে ভয়ানক বড় চিত্র সরবরাহ করে এবং আমার পূর্ববর্তী ধারণাটিও সঠিক ছিল।
ইসস। এই তদন্ত কিছুটা সময় নিয়েছিল। শব্দ জঞ্জাল টুকরা।
সমাধান নীচে উপস্থিত?
এর মধ্যে কিছু পরামর্শ দেওয়া হয়েছিল। আমি তাদের মন্তব্য করতে দিন।
LibreOffice- এর মতো উপযুক্ত পিডিএফ সমর্থন সহ লেখক ব্যবহার করা (ওপেনঅফিস সম্পর্কে ভুলে যান, এটি এখন অচল হয়ে পড়েছে) যদি না কিছু অসম্পূর্ণতা আপনাকে এর সাথে কাজ করতে অক্ষম করে।
পৃষ্ঠায় একই বাক্সে আরও বড় চিত্র ব্যবহার করাও এটি খারাপ ধারণা নয়, কারণ জেপিইজি-আইজিংয়ের পরেও শিল্পকর্মগুলি কম দৃশ্যমান হবে।
আমার অন্য গ্রস যদিও শুরু থেকেই জেপিইজি ব্যবহার করছে। এইভাবে শব্দটিকে পুনরায় সংক্ষেপণ করা উচিত নয় (আপনি কখনই জানেন না ...) এবং আপনি জেপিগের সর্বোচ্চ সম্ভাব্য মানের সরবরাহ করতে পারেন। লসলেস জেপিজি সংক্ষেপণও রয়েছে। রেডমন্ডের বিকাশকারীরা সম্ভবত এটি ভেবেছিলেন যে এটির দরকার নেই, তাই যদি ওয়ার্ড এই জাতীয় জেপিইজিগুলি পরিচালনা না করে তবে আমি অবাক হব না। ঠিক আছে, টিবিএইচ এটি গণিত কোডিংয়ের মতো (এমনকি ওপেন সোর্স ওয়ার্ল্ডেও) ব্যাপকভাবে সমর্থিত নয় (বা এটি পাটিগণিত কোডিংয়ের ক্ষেত্রে আরও খারাপ পরিস্থিতি)।
convert test.png -quality 100 -resize $((100*300/72))% test-300dpi-mitchell.jpg
convert test.png -quality 100 -filter box -resize $((100*300/72))% test-300dpi-box.jpg
convert test.png -quality 100 test.jpg
(উইন্ডোজে $(())
POSIX শেলগুলিতে এই পাটিগণিতের সম্প্রসারণের পরিবর্তে 416 ব্যবহার করুন )
আমি মনে করি যে ডিফল্ট মিশেল আপসেলিংয়ের জন্য ভাল তবে আপনি যদি সত্যিই এই জাতীয় পিক্সেল্যাটিক চিত্র চান তবে @ বক্সে প্রস্তাবিত অনুসারে বক্সটি দিয়ে যান। অবশ্যই প্রথম 2 টি ফাইল কেবল তখনই কার্যকর যখন আপনার অবশ্যই (কোনও কারণে) জাল পিডিএফ প্রিন্টার ব্যবহার করতে হবে।
আমি তিনটি ফাইলই আপলোড করেছি।
test-300dpi-mitchell.jpg (426 KB)
test-300dpi-box.jpg (581 KB)
test.jpg (74 কেবি)
যদি আমার অনুমানটি সঠিক হয় এবং ওয়ার্ডটি জেপিইজি চিত্রটি পুনরায় সংক্রামিত করবে না, তবে কেবল শেষটি আপসেলড নয় এবং অন্তর্নির্মিত পিডিএফ আউটপুটটি ব্যবহার করুন, কারণ এতে কম সংক্ষিপ্ততা রয়েছে (কমপক্ষে এটি অপ্রয়োজনীয় উত্থানের বিষয়টি এড়িয়ে চলে)।