GroupDocs Viewer for Java के साथ PDF से HTML उत्पन्न करें और समूह बनाना निष्क्रिय करें

कई प्रोजेक्ट्स में आपको generate html from pdf की आवश्यकता होती है जबकि प्रत्येक glyph को ठीक उसी स्थान पर रखा जाता है। यह विशेष रूप से जटिल लिपियों, प्राचीन भाषाओं, या कानूनी दस्तावेज़ों के लिए सत्य है जहाँ एक भी गलत जगह रखे गए अक्षर का अर्थ बदल सकता है। इस ट्यूटोरियल में हम आपको GroupDocs Viewer for Java के साथ PDFs को HTML में रेंडर करने की पूरी प्रक्रिया दिखाएंगे और how to disable grouping को दर्शाएंगे ताकि प्रत्येक अक्षर को एक स्वतंत्र तत्व के रूप में माना जाए।

GroupDocs.Viewer for Java के साथ सटीक रेंडरिंग तकनीकें

त्वरित उत्तर

  • “disable grouping” क्या करता है? यह रेंडरर को प्रत्येक अक्षर को एक स्वतंत्र तत्व के रूप में मानने के लिए बाध्य करता है, जिससे सटीक लेआउट संरक्षित रहता है।
  • कौन सा API विकल्प इसे नियंत्रित करता है? viewOptions.getPdfOptions().setDisableCharsGrouping(true).
  • क्या मुझे लाइसेंस की आवश्यकता है? परीक्षण के लिए एक ट्रायल काम करता है, लेकिन उत्पादन के लिए पूर्ण लाइसेंस आवश्यक है।
  • क्या मैं एक ही समय में pdf से html उत्पन्न कर सकता हूँ? हाँ—HtmlViewOptions का उपयोग करके HTML आउटपुट बनाएं और समूह बनाना निष्क्रिय रखें।
  • क्या यह सुविधा केवल PDFs तक सीमित है? यह मुख्यतः PDFs के लिए है, लेकिन व्यूअर कई अन्य फ़ॉर्मेट्स को भी समर्थन देता है।

generate html from pdf क्या है?

generate html from pdf प्रक्रिया PDF दस्तावेज़ को HTML पृष्ठों के सेट में बदलने को दर्शाती है जो मूल लेआउट, फ़ॉन्ट और छवियों को बनाए रखती है। यह रूपांतरण आसान वेब‑आधारित दृश्य, अनुक्रमण और इंटरैक्शन को सक्षम करता है बिना PDF प्लगइन की आवश्यकता के।

GroupDocs Viewer for Java का उपयोग क्यों करें?

GroupDocs.Viewer for Java 100 से अधिक इनपुट फ़ॉर्मेट्स का समर्थन करता है और 500 पृष्ठों तक के PDFs को बिना पूरे फ़ाइल को मेमोरी में लोड किए रेंडर कर सकता है। लाइब्रेरी प्रत्येक पृष्ठ को स्ट्रीमिंग तरीके से प्रोसेस करती है, जिससे पूर्ण‑डॉक्यूमेंट लोडिंग की तुलना में हीप उपयोग 70 % तक कम हो जाता है। ये मापनीय क्षमताएँ इसे उच्च‑वॉल्यूम, एंटरप्राइज़‑ग्रेड दस्तावेज़ पाइपलाइन के लिए एक विश्वसनीय विकल्प बनाती हैं।

परिचय

PDF दस्तावेज़ों के साथ काम करते समय, रेंडरिंग में सटीकता अत्यंत महत्वपूर्ण होती है—विशेषकर जब जटिल टेक्स्ट संरचनाओं जैसे हाइरोग्लिफ़िक्स या ऐसी भाषाओं से निपटना हो जिनमें अक्षर प्रतिनिधित्व सटीक होना आवश्यक हो। “Character Grouping” सुविधा अक्सर अक्षरों को गलत तरीके से समूहित करके दस्तावेज़ सामग्री की गलत व्याख्या का कारण बनती है। यह उन उपयोगकर्ताओं के लिए विशेष रूप से समस्याग्रस्त हो सकता है जिन्हें अपने दस्तावेज़ों के टेक्स्ट लेआउट की सटीक प्रतिलिपि चाहिए।

GroupDocs.Viewer for Java एक सर्वर‑साइड लाइब्रेरी है जो 100 से अधिक दस्तावेज़ फ़ॉर्मेट्स को HTML, इमेजेज़ और PDF में रेंडर करती है, पिक्सेल‑परफेक्ट फ़िडेलिटी प्रदान करती है।

आवश्यकताएँ

  • Libraries & dependencies: आपको GroupDocs.Viewer for Java संस्करण 25.2 या बाद का चाहिए।
  • Environment setup: Java Development Kit (JDK) स्थापित करें और Maven प्रोजेक्ट्स के लिए अपने IDE को कॉन्फ़िगर करें।
  • Knowledge prerequisites: बुनियादी Java प्रोग्रामिंग, फ़ाइल‑सिस्टम हैंडलिंग, और Maven की परिचितता।

GroupDocs Viewer के साथ pdf से html उत्पन्न कैसे करें

PDF से HTML उत्पन्न करना दो‑चरणीय प्रक्रिया है: व्यूअर को कॉन्फ़िगर करें, फिर दस्तावेज़ को रेंडर करें। मुख्य बात यह है कि रेंडरिंग से पहले कैरेक्टर ग्रुपिंग को बंद किया जाए ताकि HTML आउटपुट मूल PDF लेआउट को अक्षर‑दर‑अक्षर प्रतिबिंबित करे।

GroupDocs.Viewer for Java सेटअप करना

Maven के माध्यम से इंस्टॉलेशन

अपने pom.xml में निम्नलिखित डिपेंडेंसी जोड़ें:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/viewer/java/</url>
   </repository>
</repositories>
<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-viewer</artifactId>
      <version>25.2</version>
   </dependency>
</dependencies>

लाइसेंस प्राप्ति

GroupDocs.Viewer का पूर्ण उपयोग करने के लिए, लाइसेंस प्राप्त करने पर विचार करें:

  • Free trial: फीचर्स का परीक्षण करने के लिए मुफ्त ट्रायल से शुरू करें।
  • Temporary license: यदि आपको अधिक समय चाहिए तो अस्थायी लाइसेंस के लिए आवेदन करें।
  • Purchase: दीर्घकालिक प्रोजेक्ट्स के लिए लाइसेंस खरीदना सलाहनीय है।

बेसिक इनिशियलाइज़ेशन और सेटअप

HtmlViewOptions दस्तावेज़ को HTML में रेंडर करने के लिए आउटपुट फ़ॉर्मेट और विकल्पों को कॉन्फ़िगर करता है।

import com.groupdocs.viewer.Viewer;
import com.groupdocs.viewer.options.HtmlViewOptions;
import java.nio.file.Path;

// Initialize the GroupDocs Viewer
Path outputDirectory = Utils.getOutputDirectoryPath("DisableCharactersGrouping");
Path pageFilePathFormat = outputDirectory.resolve("page_{0}.html");

HtmlViewOptions viewOptions = HtmlViewOptions.forEmbeddedResources(pageFilePathFormat);
viewOptions.getPdfOptions().setDisableCharsGrouping(true);

try (Viewer viewer = new Viewer("YOUR_DOCUMENT_DIRECTORY/HIEROGLYPHS_PDF")) {
    viewer.view(viewOptions);
}

इम्प्लीमेंटेशन गाइड

फ़ीचर: कैरेक्टर ग्रुपिंग निष्क्रिय करें

नीचे हम उदाहरण की प्रत्येक पंक्ति को तोड़कर समझाते हैं ताकि आप समझ सकें why हम यह करते हैं और how यह pdf से html उत्पन्न करने में अनचाहे कैरेक्टर मर्जिंग को रोकता है।

चरण 1: आउटपुट डायरेक्टरी निर्धारित करें
Path outputDirectory = Utils.getOutputDirectoryPath("DisableCharactersGrouping");

Why? यह सुनिश्चित करता है कि आपके रेंडर किए गए HTML फ़ाइलें एक समर्पित फ़ोल्डर में संग्रहीत हों, जिससे बाद में उन्हें ढूँढना और प्रबंधित करना आसान हो जाता है।

चरण 2: फ़ाइल पाथ फ़ॉर्मेट कॉन्फ़िगर करें
Path pageFilePathFormat = outputDirectory.resolve("page_{0}.html");

Why? प्लेसहोल्डर ({0}) का उपयोग करने से व्यूअर प्रत्येक PDF पेज के लिए एक अलग HTML फ़ाइल बना सकता है, जिससे आउटपुट व्यवस्थित रहता है।

चरण 3: HTML व्यू विकल्प इनिशियलाइज़ करें
HtmlViewOptions viewOptions = HtmlViewOptions.forEmbeddedResources(pageFilePathFormat);

Why? एम्बेडेड रिसोर्सेज़ इमेजेज़, फ़ॉन्ट्स, और CSS को सीधे प्रत्येक HTML पेज के साथ बंडल करते हैं, जो वेब‑आधारित व्यूअर्स या ई‑लर्निंग प्लेटफ़ॉर्म के लिए आदर्श है।

चरण 4: कैरेक्टर ग्रुपिंग निष्क्रिय करें

setDisableCharsGrouping(true) निकटवर्ती अक्षरों को समूहित करने के डिफ़ॉल्ट व्यवहार को निष्क्रिय करता है, जिससे प्रत्येक glyph अलग‑अलग रेंडर होता है।

viewOptions.getPdfOptions().setDisableCharsGrouping(true);

Why? यह वह महत्वपूर्ण पंक्ति है जो रेंडरिंग इंजन को नहीं कहती है कि निकटवर्ती अक्षरों को मर्ज करे, यह सुनिश्चित करते हुए कि उत्पन्न HTML स्रोत PDF से सटीक glyph प्लेसमेंट को दर्शाता है।

चरण 5: दस्तावेज़ को रेंडर करें

Viewer मुख्य क्लास है जो दस्तावेज़ को खोलता है और रेंडरिंग क्षमताएँ प्रदान करता है।

try (Viewer viewer = new Viewer("YOUR_DOCUMENT_DIRECTORY/HIEROGLYPHS_PDF")) {
    viewer.view(viewOptions);
}

Why? Viewer को try‑with‑resources ब्लॉक में रैप करने से सभी नेटिव रिसोर्सेज़ स्वचालित रूप से रिलीज़ हो जाते हैं, जिससे लंबे समय तक चलने वाले एप्लिकेशन में मेमोरी लीक्स रोकते हैं।

कैरेक्टर ग्रुपिंग निष्क्रिय करने से HTML की सटीकता कैसे बढ़ती है?

कैरेक्टर ग्रुपिंग को निष्क्रिय करने से इंजन प्रत्येक glyph को एक अलग HTML तत्व के रूप में आउटपुट करता है, जिससे मूल स्पेसिंग, लिगेचर, और डायक्रिटिक सटीक रूप से स्रोत PDF में जैसे हैं वैसे ही संरक्षित रहते हैं। यह एक विश्वसनीय वेब प्रतिनिधित्व देता है जो उन लिपियों के लिए आवश्यक है जहाँ अक्षर क्रम और स्पेसिंग अर्थ व्यक्त करती हैं, जैसे Arabic, Devanagari, या प्राचीन हाइरोग्लिफ़िक टेक्स्ट।

कैरेक्टर ग्रुपिंग निष्क्रिय करने के प्रदर्शन प्रभाव क्या हैं?

ग्रुपिंग को बंद करने से CPU साइकिल थोड़ी बढ़ती है क्योंकि रेंडरर प्रत्येक अक्षर को व्यक्तिगत रूप से प्रोसेस करता है। व्यवहार में, सामान्य 100‑पेज PDFs के लिए ओवरहेड 5 % से कम रहता है और 500 पेज से अधिक दस्तावेज़ों के लिए 12 % से कम रहता है, बशर्ते JVM हीप उचित आकार (जैसे -Xmx2g) हो। जब सटीक विज़ुअल फ़िडेलिटी आवश्यक हो, तो यह ट्रेड‑ऑफ़ सार्थक है।

सामान्य समस्याएँ और समाधान

  • FileNotFoundExceptionnew Viewer(...) को पास किए गए पाथ को दोबारा जांचें। स्पष्टता के लिए absolute पाथ या Path.of(...) का उपयोग करें।
  • Write permissions – सुनिश्चित करें कि आउटपुट डायरेक्टरी Java प्रोसेस द्वारा लिखने योग्य हो; Linux पर आपको फ़ोल्डर परमिशन (chmod 775) समायोजित करने की आवश्यकता हो सकती है।
  • Version mismatchsetDisableCharsGrouping विकल्प संस्करण 25.2 से उपलब्ध है। सुनिश्चित करें कि आपका pom.xml सही संस्करण दर्शाता है।

व्यावहारिक अनुप्रयोग

  1. Language preservation – उन दस्तावेज़ों के रेंडरिंग के लिए आदर्श जो Chinese, Japanese, Arabic, या प्राचीन स्क्रिप्ट्स में हैं जहाँ अक्षर स्पेसिंग अर्थ रखती है।
  2. Legal & financial documents – अनुपालन‑भारी दस्तावेज़ों के लिए सटीक टेक्स्ट प्रतिलिपि सुनिश्चित करता है।
  3. Educational resources – जटिल डायग्राम, एनोटेशन, या बहुभाषी कंटेंट वाले पाठ्यपुस्तकों के लिए उत्तम।

प्रदर्शन विचार

  • Optimize resource usage – बड़े PDFs काफी मेमोरी खपत कर सकते हैं। पृष्ठों को बैच में प्रोसेस करें और Viewer इंस्टेंस को तुरंत डिस्पोज़ करें।
  • Java memory management – यदि आप कई‑सौ पेज PDFs प्रोसेस करने की उम्मीद करते हैं तो JVM हीप (-Xmx2g या अधिक) को ट्यून करें।
  • Parallel rendering – बड़े पैमाने पर रूपांतरण के लिए, प्रत्येक थ्रेड को अपना Viewer इंस्टेंस देकर मल्टी‑कोर CPU का लाभ उठाएँ।

अक्सर पूछे जाने वाले प्रश्न

Q: मैंको कैरेक्टर ग्रुपिंग निष्क्रिय करने की आवश्यकता क्यों पड़ सकती है?
A: ग्रुपिंग निष्क्रिय करने से रेंडरर उन अक्षरों को मर्ज करने से रोकता है जो अलग‑अलग glyphs से संबंधित होते हैं, जो उन लिपियों के लिए आवश्यक है जहाँ स्पेसिंग और क्रम अर्थ व्यक्त करते हैं।

Q: क्या setDisableCharsGrouping सेटिंग केवल HTML आउटपुट पर लागू होती है?
A: नहीं, यह अंतर्निहित PDF रेंडरिंग इंजन को प्रभावित करता है, इसलिए कोई भी आउटपुट फ़ॉर्मेट (HTML, PNG, JPEG, आदि) इस परिवर्तन को दर्शाएगा।

Q: क्या मैं इस सेटिंग को कस्टम फ़ॉन्ट्स के साथ संयोजित कर सकता हूँ?
A: हाँ—Viewer को इनिशियलाइज़ करने से पहले अपने कस्टम फ़ॉन्ट्स लोड करें, और ग्रुपिंग नियम अभी भी लागू रहेगा।

Q: क्या ग्रुपिंग निष्क्रिय करने से प्रदर्शन पर असर पड़ता है?
A: थोड़ा, क्योंकि इंजन प्रत्येक अक्षर को व्यक्तिगत रूप से प्रोसेस करता है, लेकिन अधिकांश दस्तावेज़ों के लिए प्रभाव न्यूनतम होता है (आमतौर पर 5 % से कम ओवरहेड)।

Q: क्या पेज‑वार ग्रुपिंग टॉगल करने का कोई तरीका है?
A: वर्तमान में यह विकल्प PdfOptions इंस्टेंस के लिए ग्लोबल है; यदि आप मिश्रित व्यवहार चाहते हैं तो अलग‑अलग पेजों के लिए अलग Viewer इंस्टेंस की आवश्यकता होगी।

संसाधन


अंतिम अपडेट: 2026-09-05
परीक्षण किया गया: GroupDocs.Viewer 25.2 for Java
लेखक: GroupDocs

संबंधित ट्यूटोरियल