मुख्य सामग्री पर जाएँ

Engine रिपोर्टिंग

विश्लेषण प्रक्रिया

Glasswall लाइब्रेरी एक प्रकाशित API के माध्यम से एक फ़ाइल प्राप्त करती है और उसे कई process cycles से गुज़ारती है। प्रत्येक cycle का output अगले cycle का input बन जाता है, जिससे processes के बीच एक स्तर का पृथक्करण बना रहता है। फ़ाइल का analysis प्रत्येक cycle में होता है। शुरुआती cycles फ़ाइल की संरचना और उसके घटक भागों के आकारों को उजागर करते हैं। बाद के cycles syntactic और semantic checks करने पर केंद्रित होते हैं, जो जोखिम के संभावित स्रोतों, out-of-range fields या malformed structures की पहचान करते हैं।

जहाँ फ़ाइल के तत्व compressed होते हैं, उन्हें expand किया जाता है और परिणामों का आकलन, analysis और verification किया जाता है। इससे process के अंत में प्रकाशित analysis report फ़ाइल की सामग्री और संरचना का विस्तृत आकलन दे पाती है। sanitisation और remediation processes के माध्यम से क्रमवार आगे बढ़ते हुए, Glasswall उन कार्रवाइयों की सटीक report प्रदान कर सकता है जिन्हें Glasswall की regeneration functionality द्वारा किया जा सकता है, जिससे फ़ाइल specification के अनुरूप बन जाती है।

प्रत्येक cycle के दौरान, process की जा रही फ़ाइल को Glasswall के अपने internal representation में रूपांतरित किया जाता है। इससे parsing और traversing processes सरल हो जाते हैं और isolation प्रदान करने में मदद मिलती है। जैसे-जैसे analysis process Glasswall structures के माध्यम से आगे बढ़ती है, विस्तृत checks केवल individual components पर ही नहीं बल्कि file components के बीच संबंधों पर भी उच्च स्तर पर किए जाते हैं। ये higher level checks फ़ाइल की semantic structure और consistency को सही ढंग से verify करने में सक्षम बनाते हैं।

विश्लेषण रिपोर्ट्स

Embedded Engine analysis reports डेटा का एक विस्तृत, file-type agnostic विवरण प्रदान करती हैं और XML format में logged होती हैं। इस report की संरचना एक Analysis Report XSD का अनुसरण करती है, जिसे parsing और processing को सरल बनाने के लिए डिज़ाइन किया गया है। analysis report XSD, Embedded Engine release package के /schemas/sdk_editor folder में स्थित है।

analysis report में निम्नलिखित फ़ाइल जानकारी शामिल होती है:

  • Document Summary — फ़ाइल-विशिष्ट उच्च-स्तरीय जानकारी।
  • Content Management Policy — content management switches की वे settings जो processed file पर लागू की गई हैं।
  • Content Groups — processed file में detected content का मुख्य grouping।
  • Content Items — processed file में detected low-level structures।
  • Issue Items — detected structures जो manufacturer की specification से मेल नहीं खाते, या जहाँ detected structures policy द्वारा अनुमत नहीं हैं (दोनों ही स्थितियों में फ़ाइल अस्वीकृत होती है)।
  • Sanitisation Items — content management के अंतर्गत detected structures जिन्हें policy द्वारा removal के लिए चिह्नित किया गया है।
  • Allowed Items — content management के अंतर्गत detected structures जिन्हें policy द्वारा अनुमति दी गई है।
  • Remedy Items — processed file पर लागू किए गए automatic corrections ताकि फ़ाइल को manufacturer की specification के अनुरूप लाया जा सके।

नमूना विश्लेषण रिपोर्ट्स

इस अनुभाग में एक संक्षिप्त Glasswall Analysis Report शामिल है, जिसमें एक सामान्य रिपोर्ट के सभी प्रमुख तत्व शामिल हैं। यह विशेष उदाहरण एक PDF फ़ाइल पर आधारित है।

दस्तावेज़ सारांश

प्रत्येक XML रिपोर्ट नीचे दिखाए गए दस्तावेज़ सारांश से शुरू होती है:

    <gw:DocumentSummary>
<gw:TotalSizeInBytes>2293803</gw:TotalSizeInBytes>
<gw:FileType>pdf</gw:FileType>
<gw:Version>PDF-1.6</gw:Version>
<gw:FileTypeDetectionMethod>signature match</gw:FileTypeDetectionMethod>
<gw:InputSHA256>DEE7CEB7AB57227121FF65F0D8D0878CBEDF90864069D9525698257972498099</gw:InputSHA256>
<gw:OutputSHA256>83EE59FAB5972429CE65CBB22EBF8B592D53F47927E0FA751584875D4F80CA1E</gw:OutputSHA256>
<gw:ProcessingTimeMilliseconds>101</gw:ProcessingTimeMilliseconds>
<gw:ComplexityLevel>4.41</gw:ComplexityLevel>
</gw:DocumentSummary>

  • TotalSizeInBytes - इनपुट फ़ाइल का आकार
  • FileType - Glasswall द्वारा पता लगाया गया फ़ाइल प्रकार
  • Version - फ़ाइल फ़ॉर्मेट संस्करण (जब निर्धारित किया जा सके)
  • FileTypeDetectionMethod - फ़ाइल फ़ॉर्मेट निर्धारित करने के लिए उपयोग की गई Glasswall पहचान विधि
  • InputSHA256 - मूल इनपुट फ़ाइल का SHA-256
  • OutputSHA256 - Glasswall द्वारा प्रोसेसिंग के बाद आउटपुट फ़ाइल का SHA-256 (यदि फ़ाइल पुनर्जनित की गई हो)
  • ProcessingTimeMilliseconds - फ़ाइल को प्रोसेस करने में लगा Glasswall द्वारा मापा गया समय
  • ComplexityLevel - फ़ाइल की जटिलता के स्तर का Glasswall अनुमान, जो फ़ाइल में पहचाने गए artefacts की संख्या के log10 की गणना करके 2 दशमलव स्थानों तक तैयार किया जाता है

कंटेंट प्रबंधन

फिर फ़ाइल पर उपयोग की गई कंटेंट प्रबंधन policies सूचीबद्ध की जाती हैं।

नोट: प्रत्येक रिपोर्ट में सभी फ़ाइल प्रकारों के लिए सभी policies सूचीबद्ध होती हैं। जहाँ policy कॉन्फ़िगर नहीं की गई है लेकिन उपलब्ध है, वहाँ लागू की गई डिफ़ॉल्ट policy सेटिंग्स भी सूचीबद्ध होंगी।

PDF कंटेंट प्रबंधन switch settings में से कुछ नीचे दिखाए गए हैं:

    <gw:ContentManagementPolicy>
<gw:Camera cameraName="pdfConfig">
<gw:ContentSwitch>
<gw:ContentName>javascript</gw:ContentName>
<gw:ContentValue>sanitise</gw:ContentValue>
</gw:ContentSwitch>
<gw:ContentSwitch>
<gw:ContentName>acroform</gw:ContentName>
<gw:ContentValue>sanitise</gw:ContentValue>
</gw:ContentSwitch>
<gw:ContentSwitch>
<gw:ContentName>embedded_files</gw:ContentName>
<gw:ContentValue>sanitise</gw:ContentValue>
</gw:ContentSwitch>
</gw:Camera>
</gw:ContentManagementPolicy>

कंटेंट समूह और आइटम

फ़ाइल में पाए गए विभिन्न content groups की संख्या (16), साथ ही पहले group से एक content item का उदाहरण, नीचे दिखाया गया है:

    <gw:ContentGroups groupCount="16">
<gw:ContentGroup>
<gw:BriefDescription>PDF document has Basic File Section structure instances</gw:BriefDescription>
<gw:ContentItems itemCount="5">
<gw:ContentItem>
<gw:TechnicalDescription>PDF Header Instances</gw:TechnicalDescription>
<gw:InstanceCount>1</gw:InstanceCount>
<gw:TotalSizeInBytes>15</gw:TotalSizeInBytes>
<gw:AverageSizeInBytes>15</gw:AverageSizeInBytes>
<gw:MinSizeInBytes>15</gw:MinSizeInBytes>
<gw:MaxSizeInBytes>15</gw:MaxSizeInBytes>
</gw:ContentItem>
</gw:ContentItems>>
</gw:ContentGroup>
...
</gw:ContentGroups>

Sanitisation items

इस उदाहरण में, क्योंकि metadata switch को sanitise पर सेट किया गया है, एक dictionary structure को हटाने के लिए tagged के रूप में दिखाया गया है।

    <gw:SanitisationItems itemCount="1">
<gw:SanitisationItem>
<gw:TechnicalDescription>Document information dictionary detected in a document trailer dictionary.</gw:TechnicalDescription>
<gw:SanitisationId>16872998749</gw:SanitisationId>
<gw:InstanceCount>1</gw:InstanceCount>
<gw:TotalSizeInBytes>0</gw:TotalSizeInBytes>
</gw:SanitisationItem>
</gw:SanitisationItems>

Allowed items

इस उदाहरण में, क्योंकि metadata switch को allow पर सेट किया गया है, इसलिए एक dictionary structure को बनाए रखा जाता है।

    <gw:AllowedItems itemCount="1">
<gw:AllowedItem>
<gw:TechnicalDescription>Document information dictionary detected in a document trailer dictionary.</gw:TechnicalDescription>
<gw:AllowedId>16872998749</gw:AllowedId>
<gw:InstanceCount>1</gw:InstanceCount>
<gw:TotalSizeInBytes>0</gw:TotalSizeInBytes>
</gw:AllowedItem>

Remedy Items

सभी XML reports में Remedies शामिल नहीं होते, क्योंकि ये स्वचालित सुधार होते हैं जो किसी भी regenerated file को file specification के अनुरूप लाने के लिए किए जाते हैं। इस उदाहरण में, फ़ाइल में एक remedy item report किया गया है।

    <gw:RemedyItems itemCount="1">
<gw:RemedyItem>
<gw:TechnicalDescription>
PDF Stream is missing an End-Of-Line before the &apos;EndStream&apos; marker.
</w:TechnicalDescription>
<gw:RemedyId>1605893787</gw:RemedyId>
<gw:InstanceCount>7</gw:InstanceCount>
</gw:RemedyItem>
</gw:RemedyItems>

Issue Items

बहुत कम फ़ाइलों में कोई issue होता है, क्योंकि इसका मतलब है कि वे केवल file specification के अनुरूप नहीं हैं, बल्कि Glasswall issue को specification में निर्धारित standards तक वापस Remedy करने में भी असमर्थ रहा है। issue item वाली फ़ाइल regenerated नहीं की जा सकती

    <gw:IssueItems itemCount="1">
<gw:IssueItem>
<gw:TechnicalDescription>
/Info dictionary contained an unexpected key (/GTS_PDFXConformance).
</gw:TechnicalDescription>
<gw:IssueId>1670998746</gw:IssueId>
<gw:InstanceCount>1</gw:InstanceCount>
</gw:IssueItem>
</gw:IssueItems>

जब किसी फ़ाइल को content management policy के कारण non-conformant निर्धारित किया जाता है (जहाँ disallow की setting उपयोग की गई हो), तब Issue items भी रिपोर्ट किए जाते हैं।

प्रत्येक Sanitisation item, Allowed Item, Remedy item या Issue item के साथ एक अद्वितीय संख्यात्मक ID जुड़ी होती है, ताकि XML reports को process करने की इच्छा रखने वाले अन्य applications द्वारा उस item की विशिष्ट पहचान की जा सके।