HTML / PDF / docx के लिए pandoc के साथ मार्कडाउन में PNG छवियों को सही ढंग से आकार देना


25

मैं एक ही डॉक्यूमेंट को html, pdf, और dxx में बदलने के लिए pandoc के साथ मार्कडाउन का उपयोग करने की कोशिश कर रहा हूं। यह एक बहुत ही सरल दस्तावेज है जिसमें केवल गणित से कम पाठ और कुछ चित्र हैं। चित्र PNG प्रारूप में हैं। मैं मार्कडाउन स्रोत में इसका उपयोग करके एक छवि शामिल करता हूं:

<div style="float:center" markdown="1">

![my caption](./figures/myimage.png)

</div>

और इसे संकलित करें:

# html
pandoc myarticle.md -c mystyle.css -o myarticle.html
# pdf
pandoc myarticle.md -V geometry:margin=1in -o myarticle.pdf
# docx
pandoc myarticle.md -o myarticle.docx

मैंने देखा कि कुछ पीएनजी छवियों के समान आयाम HTML और पीडीएफ प्रारूपों में अलग-अलग आकार के होते हैं। एक PNG जो 250x256 px कम रिज़ॉल्यूशन (72 px / in) के साथ पीडीएफ में पृष्ठ पर लगभग सही आकार के रूप में दिखाई देगा, और html में उचित आकार में दिखाई देगा, लेकिन एक PNG जिसमें समान आयाम (250x25% px) हैं, लेकिन है उच्च-रिज़ॉल्यूशन (300 px / in) पीडीएफ आउटपुट में पृष्ठ पर छोटे होने के लिए आकार बदल जाता है। मैं PNG छवियों के आकार में रखना चाहता हूं, जो मैं निर्दिष्ट करता हूं और उन्हें HTML / PDF / DOCX दोनों स्वरूपों में उस आकार में प्रदर्शित करता हूं।

मैं बस पीडीएफ / एचटीएमएल रखने के लिए ऑटोमैटिक डॉक्स सपोर्ट देने (या बाद में बहुत ज्यादा फॉरमैट फॉर्मेटिंग से निपटने) के लिए तैयार हूं।

मैं पीडीएफ या छवि के लिए PNGs का आकार बदलने के लिए नहीं, और उन्हें अपनी सही छवियों में कैसे प्रकट कर सकता हूं? धन्यवाद।


2
एक पीएनजी 300dpi है कि लेकिन केवल 250x256px चाहिए पृष्ठ पर काफी छोटा हो सकता है, ऐसा नहीं होना चाहिए? (एक इंच से कम वर्ग।) कम डीपीआई वाला पीएनजी पृष्ठ पर बड़ा होगा। पंडोक छवियों को आकार देने में, डीपीआई जानकारी के साथ-साथ पिक्सेल आकार को भी ध्यान में रखता है। और यह नहीं करना चाहिए? शायद आप HTML में उच्च स्तर की छवियों के नीचे विश्व स्तर पर CSS का उपयोग कर सकते हैं।
जॉन मैकफर्लेन

1
@JohnMacFarlane: मैं देख रहा हूँ कि pandoc का व्यवहार dpi को ध्यान में रखने के लिए सही है - लेकिन मैं चाहता हूँ कि यह dpi को अनदेखा करे और निरपेक्ष आकारों के साथ चिपका रहे, ताकि मैं सभी छवियों के लिए एक ही उच्च Res PNG रख सकूँ। क्या छवियों के कम रिज़ॉल्यूशन संस्करण बनाने के लिए ऐसा करने का सही तरीका है, या क्या पैंडोक बनाने का एक तरीका है केवल छवि के आयामों का उपयोग करना और रिज़ॉल्यूशन को अनदेखा करना? यह मेरे अंत से सबसे सरल होगा
user46976

जवाबों:


17

HTML जैसे प्रारूपों में आउटपुट के लिए आयामों को पिक्सेल में परिवर्तित किया जाता है। प्रति इंच पिक्सेल की संख्या निर्दिष्ट करने के लिए --dpi विकल्प का उपयोग करें। डिफ़ॉल्ट 96dpi है।

अपने चित्रों में सबसे आम तत्व खोजें और इसका उपयोग करें। केवल अपवादों को संशोधित करें।


उदाहरण: डीपीआई, चौड़ाई, ऊंचाई।

यदि आप इसे डीपीआई की जानकारी देते हैं:

डिफ़ॉल्ट को ओवरराइड करने के लिए --dpi विकल्प जोड़ें।


यदि आपकी अधिकांश तस्वीरों में एक सामान्य ऊँचाई या चौड़ाई है, जिसे आसानी से ठीक किया जाना चाहिए।

उदाहरण के लिए, आपने लाइन को बदल दिया है:

![my caption](./figures/myimage.png){ width=250px }

या

![my caption](./figures/myimage.png){ height=256px }

या इसे सीधे HTML मार्कअप में करें:

<img src="./figures/myimage.png" alt="my caption" style="width: 250px;"/>

या

<img src="./figures/myimage.png" alt="my caption" style="height: 256px;"/>

और अनुपात सही होगा।


संदर्भ: पंडोक रीडमे

HTML और EPUB के लिए, चौड़ाई और ऊंचाई (लेकिन srcset और आकारों सहित) को छोड़कर सभी विशेषताओं को इस प्रकार से पास किया जाता है। अन्य लेखक उन विशेषताओं को अनदेखा करते हैं जो उनके आउटपुट प्रारूप द्वारा समर्थित नहीं हैं।

छवियों पर चौड़ाई और ऊंचाई की विशेषताओं का विशेष रूप से इलाज किया जाता है। जब एक इकाई के बिना उपयोग किया जाता है, तो इकाई को पिक्सेल माना जाता है। हालाँकि, निम्न में से किसी भी इकाई पहचानकर्ता का उपयोग किया जा सकता है: px, cm, mm, in, इंच और%।

पृष्ठ-आधारित स्वरूपों जैसे आउटपुट में LaTeX के लिए आयामों को इंच में बदल दिया जाता है। HTML जैसे प्रारूपों में आउटपुट के लिए आयामों को पिक्सेल में परिवर्तित किया जाता है। प्रति इंच पिक्सेल की संख्या निर्दिष्ट करने के लिए --dpi विकल्प का उपयोग करें। डिफ़ॉल्ट 96dpi है।

% इकाई आम तौर पर कुछ उपलब्ध स्थान के सापेक्ष होती है। उदाहरण के लिए उपरोक्त उदाहरण <img href="file.jpg" style="width: 50%;" />(HTML), \includegraphics[width=0.5\textwidth]{file.jpg} (LaTeX), or \externalfigure[file.jpg][width=0.5\textwidth](ConTeXt) को प्रस्तुत करेगा ।

कुछ आउटपुट प्रारूपों में एक वर्ग (ConTeXt) या एक अद्वितीय पहचानकर्ता (LaTeX \ कैप्शन), या दोनों (HTML) की धारणा होती है।

जब कोई चौड़ाई या ऊंचाई विशेषताओं को निर्दिष्ट नहीं किया जाता है, तो फ़ॉलबैक छवि रिज़ॉल्यूशन और छवि फ़ाइल में एम्बेडेड डीपीआई मेटाडेटा को देखने के लिए है।


5
{ width=100% }समग्र स्क्रीन / पृष्ठ / लिनिविड आकार के सापेक्ष चौड़ाई के लिए भी उपयोग किया जा सकता है ।
rriemann

इस के साथ इस्तेमाल किया जा सकता pandoc-crossrefरों {#fig:refname}वाक्य रचना?
ओराफिश

2
मेरी अपनी टिप्पणी का जवाब देना: {#fig:refname width=50%}काम करता है।
oarfish 16
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.