<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?action=history&amp;feed=atom&amp;title=Pdfreader-call</id>
	<title>Pdfreader-call - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?action=history&amp;feed=atom&amp;title=Pdfreader-call"/>
	<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Pdfreader-call&amp;action=history"/>
	<updated>2026-04-13T04:41:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.7</generator>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Pdfreader-call&amp;diff=4345&amp;oldid=prev</id>
		<title>G.dimaio: Created page with &quot;==Definition==  ''PDFReaderCall'' plug-in is compatible with all PDF formats, and it is very simple to configure. It receives in input a binary stream containing the PDF file, or...&quot;</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Pdfreader-call&amp;diff=4345&amp;oldid=prev"/>
		<updated>2015-01-02T15:34:07Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==Definition==  &amp;#039;&amp;#039;PDFReaderCall&amp;#039;&amp;#039; plug-in is compatible with all PDF formats, and it is very simple to configure. It receives in input a binary stream containing the PDF file, or...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Definition==&lt;br /&gt;
&lt;br /&gt;
''PDFReaderCall'' plug-in is compatible with all PDF formats, and it is very simple to configure. It receives in input a binary stream containing the PDF file, or reads it form file-system, and returns in output a corresponding XML structure. &lt;br /&gt;
&lt;br /&gt;
To the output of ''PDFReaderCall'' plug-in it is possible to apply a [[ChangeGVBufferNode]] operation or an XSL transformation to retrieve all interesting data.&lt;br /&gt;
&lt;br /&gt;
{{GVESB}} provides two different tools, {{L_GVCONSOLE}} and {{L_VULCON}}, to configure all supported plug-ins.&lt;br /&gt;
&lt;br /&gt;
=={{VULCON}} / {{GVCONSOLE}} Configuration==&lt;br /&gt;
&lt;br /&gt;
''pdfreader-call'' is the operation that must be configured into {{L_VULCON}} or  {{L_GVCONSOLE}} [[System]] section, to convert an PDF file in [[#GVBuffer|GVBuffer.object]] field, or in file-system, in an XML document. &lt;br /&gt;
&lt;br /&gt;
In order to add an operation ''pdfreader-call'' you must define the following fields:&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot;&lt;br /&gt;
! Attribute !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| class || fixed || '''it.greenvulcano.gvesb.virtual.pdf.reader.GVPdfReaderCallOperation'''&lt;br /&gt;
(java class that manage ''ExcelReaderCall'' invocation).&lt;br /&gt;
|-&lt;br /&gt;
| type || fixed || This attribute must assume the value '''call'''&lt;br /&gt;
|-&lt;br /&gt;
| name || required || This field identify the operation name that you will use in service definition.&lt;br /&gt;
|-&lt;br /&gt;
| fileName || optional || Pdf file name. Can contains placeholder to be decoded at runtime. If not defined the Pdf file content must be into GVBuffer.object field.&lt;br /&gt;
|-&lt;br /&gt;
| pageStart || optional || Starting page for conversion. Can contains placeholder to be decoded at runtime. If not defined is -1, meaning that only Pdf metadata must be extracted.&lt;br /&gt;
|-&lt;br /&gt;
| pageEnd || optional || Ending page for conversion. Can contains placeholder to be decoded at runtime. If not defined is -1, meaning that till Pdf's last must be extracted.&lt;br /&gt;
|-&lt;br /&gt;
| embedPDF || optional  || If true the input pdf file is embedded as base64 data into the output XML. Default to false.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following example shows the configuration generated from {{L_VULCON}} or {{L_GVCONSOLE}} when you configure a ''pdfreader-call'' operation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;GVSystems name=&amp;quot;SYSTEMS&amp;quot; type=&amp;quot;module&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Systems&amp;gt;&lt;br /&gt;
        &amp;lt;System id-system=&amp;quot;system-name&amp;quot; system-activation=&amp;quot;on&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Channel id-channel=&amp;quot;CHANNEL_NAME&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;pdfreader-call class=&amp;quot;it.greenvulcano.gvesb.virtual.pdf.reader.GVPdfReaderCallOperation&amp;quot;&lt;br /&gt;
                                name=&amp;quot;ReadPDF&amp;quot; type=&amp;quot;call&amp;quot; pageStart=&amp;quot;1&amp;quot; pageEnd=&amp;quot;1&amp;quot; embedPDF=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Channel&amp;gt;    &lt;br /&gt;
        &amp;lt;/System&amp;gt;&lt;br /&gt;
    &amp;lt;/Systems&amp;gt;&lt;br /&gt;
&amp;lt;/GVSystems&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To use an ''pdfreader-call'' in a {{GVESB}} service, you need to define a node of type [[GVOperationNode]] in [[Service|Service section]] and define in the field ''operation-name'' the name defined in ''pdfreader-call'' operation.&lt;br /&gt;
&lt;br /&gt;
The following example shows the configuration generated from {{L_VULCON}} or {{L_GVCONSOLE}} when you configure an ''pdfreader-call'' operation in {{GVESB}} service:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;GVServices name=&amp;quot;SERVICES&amp;quot; type=&amp;quot;module&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Groups&amp;gt;&lt;br /&gt;
        &amp;lt;Group group-activation=&amp;quot;on&amp;quot; id-group=&amp;quot;DEFAULT_GRP&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Groups&amp;gt;&lt;br /&gt;
    &amp;lt;Services&amp;gt;&lt;br /&gt;
        &amp;lt;Service group-name=&amp;quot;DEFAULT_GRP&amp;quot; id-service=&amp;quot;SERVICE-NAME&amp;quot;&lt;br /&gt;
                 service-activation=&amp;quot;on&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Client id-system=&amp;quot;SYSTEM-NAME&amp;quot; statistics=&amp;quot;off&amp;quot; system-activation=&amp;quot;on&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Operation name=&amp;quot;RequestReply&amp;quot; operation-activation=&amp;quot;on&amp;quot;&lt;br /&gt;
                           out-check-type=&amp;quot;none&amp;quot; type=&amp;quot;operation&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;Participant id-channel=&amp;quot;CHANNEL-NAME&amp;quot; id-system=&amp;quot;SYSTEM-NAME&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;Flow first-node=&amp;quot;pdf_reader&amp;quot; point-x=&amp;quot;20&amp;quot; point-y=&amp;quot;112&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;GVOperationNode class=&amp;quot;it.greenvulcano.gvesb.core.flow.GVOperationNode&amp;quot;&lt;br /&gt;
                                         id=&amp;quot;pdf_reader&amp;quot; id-system=&amp;quot;SYSTEM-NAME&amp;quot;&lt;br /&gt;
                                         input=&amp;quot;input&amp;quot; next-node-id=&amp;quot;end&amp;quot;&lt;br /&gt;
                                         op-type=&amp;quot;call&amp;quot;&lt;br /&gt;
                                         operation-name=&amp;quot;ReadPDF&amp;quot;&lt;br /&gt;
                                         output=&amp;quot;pdf_xml&amp;quot; point-x=&amp;quot;158&amp;quot;&lt;br /&gt;
                                         point-y=&amp;quot;112&amp;quot; type=&amp;quot;flow-node&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;GVEndNode class=&amp;quot;it.greenvulcano.gvesb.core.flow.GVEndNode&amp;quot;&lt;br /&gt;
                                   end-business-process=&amp;quot;yes&amp;quot; id=&amp;quot;end&amp;quot; op-type=&amp;quot;end&amp;quot;&lt;br /&gt;
                                   output=&amp;quot;pdf_xml&amp;quot; point-x=&amp;quot;358&amp;quot; point-y=&amp;quot;112&amp;quot;&lt;br /&gt;
                                   type=&amp;quot;flow-node&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/Flow&amp;gt;&lt;br /&gt;
                &amp;lt;/Operation&amp;gt;&lt;br /&gt;
            &amp;lt;/Client&amp;gt;    &lt;br /&gt;
        &amp;lt;/Service&amp;gt;&lt;br /&gt;
    &amp;lt;/Services&amp;gt;&lt;br /&gt;
&amp;lt;/GVServices&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At this point you have configured a service with an ''pdfreader-call'' operation.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This example shows an XML document generated by a simple PDF document:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;pdf&amp;gt;&lt;br /&gt;
    &amp;lt;metadata&amp;gt;&lt;br /&gt;
        &amp;lt;page-count&amp;gt;5&amp;lt;/page-count&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;FOP Development: RTFLib (jfor)&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;author/&amp;gt;&lt;br /&gt;
        &amp;lt;subject&amp;gt;Apache FOP&amp;lt;/subject&amp;gt;&lt;br /&gt;
        &amp;lt;keywords/&amp;gt;&lt;br /&gt;
        &amp;lt;creator/&amp;gt;&lt;br /&gt;
        &amp;lt;producer&amp;gt;Apache FOP Version 0.94&amp;lt;/producer&amp;gt;&lt;br /&gt;
        &amp;lt;creation-date&amp;gt;2008-07-31T16:06:16+02:00&amp;lt;/creation-date&amp;gt;&lt;br /&gt;
        &amp;lt;modification-date/&amp;gt;&lt;br /&gt;
        &amp;lt;trapped/&amp;gt;&lt;br /&gt;
        &amp;lt;extra&amp;gt;&lt;br /&gt;
            &amp;lt;x:xmpmeta xmlns:x=&amp;quot;adobe:ns:meta/&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;rdf:RDF xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;rdf:Description xmlns:pdf=&amp;quot;http://ns.adobe.com/pdf/1.3/&amp;quot; rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;pdf:PDFVersion&amp;gt;1.4&amp;lt;/pdf:PDFVersion&amp;gt;&lt;br /&gt;
                        &amp;lt;pdf:Producer&amp;gt;Apache FOP Version 0.94&amp;lt;/pdf:Producer&amp;gt;&lt;br /&gt;
                        &amp;lt;pdf:Creator&amp;gt;Apache Forrest - http://forrest.apache.org/&amp;lt;/pdf:Creator&amp;gt;&lt;br /&gt;
                    &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
                    &amp;lt;rdf:Description xmlns:xmp=&amp;quot;http://ns.adobe.com/xap/1.0/&amp;quot; rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xmp:MetadataDate&amp;gt;2008-07-31T15:06:16+01:00&amp;lt;/xmp:MetadataDate&amp;gt;&lt;br /&gt;
                        &amp;lt;xmp:CreateDate&amp;gt;2008-07-31T15:06:16+01:00&amp;lt;/xmp:CreateDate&amp;gt;&lt;br /&gt;
                    &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
                    &amp;lt;rdf:Description xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;dc:date&amp;gt;2008-07-31T15:06:16+01:00&amp;lt;/dc:date&amp;gt;&lt;br /&gt;
                        &amp;lt;dc:title&amp;gt;FOP Development: RTFLib (jfor)&amp;lt;/dc:title&amp;gt;&lt;br /&gt;
                        &amp;lt;dc:description&amp;gt;Apache FOP&amp;lt;/dc:description&amp;gt;&lt;br /&gt;
                    &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
                &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
            &amp;lt;/x:xmpmeta&amp;gt;&lt;br /&gt;
        &amp;lt;/extra&amp;gt;&lt;br /&gt;
    &amp;lt;/metadata&amp;gt;&lt;br /&gt;
    &amp;lt;pages end=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;page num=&amp;quot;1&amp;quot;&lt;br /&gt;
            &amp;gt;PDF created by Apache FOP&lt;br /&gt;
http://xmlgraphics.apache.org/fop/&lt;br /&gt;
FOP Development: RTFLib (jfor)&lt;br /&gt;
Version 627324&lt;br /&gt;
Table of contents&lt;br /&gt;
1 General Information............................................................................................................................. 2&lt;br /&gt;
  1.1 Introduction.....................................................................................................................................2&lt;br /&gt;
  1.2 History.............................................................................................................................................2&lt;br /&gt;
  1.3 Status...............................................................................................................................................2&lt;br /&gt;
2 User Documentation.............................................................................................................................2&lt;br /&gt;
  2.1 Overview.........................................................................................................................................2&lt;br /&gt;
  2.2 Document Structure........................................................................................................................ 3&lt;br /&gt;
  2.3 Attributes.........................................................................................................................................3&lt;br /&gt;
&amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;/pages&amp;gt;&lt;br /&gt;
    &amp;lt;base64pdf&amp;gt;JVBERi0xLjQKJaqrrK0KNCAwIG9iago8PAovVGl0bGUgKEZPUCBEZXZlbG9wbWVudDogUlRGTGli&amp;amp;#13;&lt;br /&gt;
IFwoamZvclwpKQovU3ViamVjdCAoQXBhY2hlIEZPUCkKL1Byb2R1Y2VyIChBcGFjaGUgRk9QIFZl&amp;amp;#13;&lt;br /&gt;
cnNpb24gMC45NCkKL0NyZWF0aW9uRGF0ZSAoRDoyMDA4MDczMTE1MDYxNiswMScwMCcpCj4+CmVu&amp;amp;#13;&lt;br /&gt;
ZG9iago1IDAgb2JqCjw8IC9OIDMKL0xlbmd0aCAyMiAwIFIKL0ZpbHRlciAvRmxhdGVEZWNvZGUg&amp;amp;#13;&lt;br /&gt;
Cj4+CnN0cmVhbQp4nJ2Wd1RT2RaHz703vVCSEIqU0GtoUgJIDb1IkS4qMQkQSsCQACI2RFRwRFGR&amp;amp;#13;&lt;br /&gt;
pggyKOCAo0ORsSKKhQFRsesEGUTUcXAUG5ZJZK0Z37x5782b3x/3fmufvc/dZ+991roAkPyDBcJM&amp;amp;#13;&lt;br /&gt;
WAmADKFYFOHnxYiNi2dgBwEM8AADbADgcLOzQhb4RgKZAnzYjGyZE/gXvboOIPn7KtM/jMEA/5+U&amp;amp;#13;&lt;br /&gt;
uVkiMQBQmIzn8vjZXBkXyTg9V5wlt0/JmLY0Tc4wSs4iWYIyVpNz8ixbfPaZZQ858zKEPBnLc87i&amp;amp;#13;&lt;br /&gt;
ZfDk3CfjjTkSvoyRYBkX5wj4uTK+JmODdEmGQMZv5LEZfE42ACiS3C7mc1NkbC1jkigygi3jeQDg&amp;amp;#13;&lt;br /&gt;
SMlf8NIvWMzPE8sPxc7MWi4SJKeIGSZcU4aNkxOL4c/PTeeLxcwwDjeNI+Ix2JkZWRzhcgBmz/xZ&amp;amp;#13;&lt;br /&gt;
FHltGbIiO9g4OTgwbS1tvijUf138m5L3dpZehH/uGUQf+MP2V36ZDQCwpmW12fqHbWkVAF3rAVC7&amp;amp;#13;&lt;br /&gt;
...........&lt;br /&gt;
&amp;lt;/base64pdf&amp;gt;&lt;br /&gt;
&amp;lt;/pdf&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With a [[ChangeGVBufferNode]] is possible parsing XML and retrieve any tag and value.&lt;/div&gt;</summary>
		<author><name>G.dimaio</name></author>
		
	</entry>
</feed>