so there are 2 things
first: where the value "saved" is coming from
second: multi values of a field makes wrong sorting
so there are 2 things
first: where the value "saved" is coming from
second: multi values of a field makes wrong sorting
i can see in pic 6 and 7 the value of a field is stored as the next field value
identifier in title and title in creator and subject has 4 values stored in the next 4 fields
so there is a problem in sorting when a field has more than one value, it is stored in other fields
and goes on to the end
Dont know why it reads some values and others given the value "saved"
In another pdf file
the value of title is shown in another field
pic 6 is in xmp
pic 7 as in sheet
pic number 1 shows the field "Title" with value "saved"
in the xmp it has a value but under (container) as you see in pic 5 there next to title (alt container)
you managed 3 ways to get info and I appreciate your time and work
Thanks for all what you have done.
Now I will manage between the different methods to get all what I need
Dont't know what to say sir
Wish you all the best
I run the code and it returns the values into the excel sheet
There are some fields with the value "saved"
I will check if it refers to the values that are in pdf description
Tosay will attach pictures for results, once electricity is on.
Sorry we only have 6 hours of electricity in the day.
Hello sir
Got it .. i will sort my work and my goal with pdf examples for each case
I saw how getinfo and other ways work very easy and helpfull , but i was shocked when i found some pdf MetaData cant be reached with previous methods, where i saw xmp data, and yes it differs in the way it arranged form pdf to another (what is called <year> in some pdfs it is mentioned in other way in other pdfs)
i saw how to search xml files and i found it close to xmp, this way i can search keywords (year, author, title ...) if i got it, that i what i was thinking
I will work on my next reply to explain my thoughts and needs in a good way, not to waste your time sir.
I will also attach the error i got with exiftool,
Finally
i know i am not good at all in this, but i aim to do this idea and trying hard to understand the way it works
I am lucky i met you, thanks
sorry for late reply
And thanks for your help
Do you thing th itextsharp can do the job with that short code?
Hello sir and thanks again
I tried the code and it showed error in shell line, any way the code lead me to anthor tool "I textsharp"
And in this link https://stackoverflow.com/ques…ng-any-data-to-user-on-pd
they used c# I think
public string ReadXmpMetadata(byte[] src) {
PdfReader reader = new PdfReader(src);
byte[] b = reader.Metadata;
return Encoding.UTF8.GetString(b, 0, b.Length);
}
I am trying to install itextsharp but on the site when install it, the file is not dll or ocx or any type could be added to references
I searched for it as dll but after adding it the program not responding.
Will try with it if it reads all meta data maybe I can store it and search it to get info I need
Year
Pages rang
Volume
Issue
Title
Jornal
Author
Thanks
Access denied
Will open the link when I am home, it needs VBN
in This link https://www.example-code.com/vb6/xmp_bag_seq_alt.asp
they are using Chilkat ActiveX but for a jpg image
i install the Chilkat
I tried the code for pdf, but an error says:Unrecognized file type
Code
Dim xmp As New ChilkatXmp
' Load a JPG or TIF image file.
' Sample JPG's with XMP metadata may be found at:
' http://www.chilkatsoft.com/testData/xmp/sample1.jpg
' http://www.chilkatsoft.com/testData/xmp/sample2.jpg
' http://www.chilkatsoft.com/testData/xmp/sample3.jpg
Dim success As Long
success = xmp.LoadAppFile("e:\nn\puppi2010.pdf") ' it was sample1.jpg and i changed it to my pdf
If (success <> 1) Then Debug.Print xmp.LastErrorText Exit Sub
End If
Debug.Print "Num embedded XMP docs: " & xmp.NumEmbedded
' Assuming there is at least one, get the 1st.
' (There is typically never more than one, but theoretically it's possible.)
Dim xml As ChilkatXml
Set xml = xmp.GetEmbedded(0)
If (xmp.LastMethodSuccess = 1) Then
' Create an object to hold one or more string values. Dim sa As New CkStringArray success = sa.Append("value_1") success = sa.Append("value_2") ' ...
success = xmp.AddArray(xml,"bag","Iptc4xmpCore:Chilkat",sa) If (success <> 1) Then Debug.Print xmp.LastErrorText Else ' Save the JPG. success = xmp.SaveAppFile("modified.jpg") If (success <> 1) Then Debug.Print xmp.LastErrorText End If
End If
Else Debug.Print xmp.LastErrorText
End If
Display More
immediate result as:
ChilkatLog:
LoadAppFile:
DllDate: Feb 8 2021
ChilkatVersion: 9.5.0.86
UnlockPrefix: NONE
Architecture: Little Endian; 32-bit
Language: ActiveX
VerboseLogging: 0
path: e:\nn\puppi2010.pdf
Auto-unlocking for trial mode...
unlockCode: Auto unlock for 30-day trial
regKeyUnlock:
product: ChilkatBundle
hcCurDate: Fri, 14 May 2021 15:08:23 +0300
hcExpire: 5/2021
Component successfully unlocked using trial key
--regKeyUnlock
xmpLoadFile:
Unrecognized file type
filename: e:\nn\puppi2010.pdf
--xmpLoadFile
Failed.
--LoadAppFile
--ChilkatLog
I know reading data could be easy if the xmp file is separated from pdf file, but in this case i can only view the data from acrobat.
i miss the code that reach the hidden xmp MetaData
What do you think?
MetaData of pdf where shown in acrobat: File>properties>description
And all metadata that are stored there is accessible by previous codes
But there are some pdfs that have some thing called xmp is similar to xml
I can access the xmp info in acrobat: File>properties>description>Additional MetaData>Advanced
Some times the data is stored in xmp file and not inserted in File>properties>description, in this case codes return nothing
Have you reached this type of xmp before?
I can extract xmp file using acrobat and i found it similar to xml
this is an xmp file
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c017 91.164464, 2020/06/15-10:20:05 ">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="doi:10.1016/j.progpolymsci.2010.01.006"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:prism="http://prismstandard.org/namespaces/basic/2.0/"
xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/"
xmlns:pdf="http://ns.adobe.com/pdf/1.3/"
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:pdfx="http://ns.adobe.com/pdfx/1.3/">
<dc:format>application/pdf</dc:format>
<dc:identifier>10.1016/j.progpolymsci.2010.01.006</dc:identifier>
<dc:title>
<rdf:Alt>
<rdf:li xml:lang="x-default">Polymeric materials for bone and cartilage repair</rdf:li>
</rdf:Alt>
</dc:title>
<dc:creator>
<rdf:Seq>
<rdf:li>D. Puppi; F. Chiellini; A.M. Piras; E. Chiellini</rdf:li>
</rdf:Seq>
</dc:creator>
<dc:publisher>
<rdf:Bag>
<rdf:li>Elsevier Ltd</rdf:li>
</rdf:Bag>
</dc:publisher>
<dc:subject>
<rdf:Bag>
<rdf:li>Biodegradable polymers</rdf:li>
<rdf:li>Tissue engineering</rdf:li>
<rdf:li>Polymeric scaffolds</rdf:li>
<rdf:li>Bone</rdf:li>
<rdf:li>Cartilage</rdf:li>
</rdf:Bag>
</dc:subject>
<prism:aggregationType>journal</prism:aggregationType>
<prism:publicationName>Progress in Polymer Science</prism:publicationName>
<prism:copyright>© 2010 Elsevier Ltd. All rights reserved.</prism:copyright>
<prism:issn>0079-6700</prism:issn>
<prism:volume>35</prism:volume>
<prism:number>4</prism:number>
<prism:coverDisplayDate>April 2010</prism:coverDisplayDate>
<prism:coverDate>2010-04</prism:coverDate>
<prism:pageRange>403-440</prism:pageRange>
<prism:startingPage>403</prism:startingPage>
<prism:endingPage>440</prism:endingPage>
<prism:doi>10.1016/j.progpolymsci.2010.01.006</prism:doi>
<prism:url>http://dx.doi.org/10.1016/j.progpolymsci.2010.01.006</prism:url>
<pdfaid:part>1</pdfaid:part>
<pdfaid:conformance>B</pdfaid:conformance>
<xmp:CreatorTool>Elsevier</xmp:CreatorTool>
<xmp:ModifyDate>2010-03-04T18:53:25+05:30</xmp:ModifyDate>
<xmpRights:Marked>True</xmpRights:Marked>
<pdf:Producer>Acrobat Distiller 8.1.0 (Windows)</pdf:Producer>
<pdf:Keywords>Biodegradable polymers; Tissue engineering; Polymeric scaffolds; Bone; Cartilage</pdf:Keywords>
<xmpMM:DocumentID>uuid:480fb66d-2c5d-432d-84db-b61fadfc99bf</xmpMM:DocumentID>
<xmpMM:InstanceID>uuid:f37f0421-2c40-4a64-88bc-b7974bc6200f</xmpMM:InstanceID>
<pdfx:AuthoritativeDomainↂ005B1ↂ005D>elsevier.com</pdfx:AuthoritativeDomainↂ005B1ↂ005D>
<pdfx:AuthoritativeDomainↂ005B2ↂ005D>sciencedirect.com</pdfx:AuthoritativeDomainↂ005B2ↂ005D>
<pdfx:AuthoritativeDomain>
<rdf:Bag>
<rdf:li>elsevier.com</rdf:li>
<rdf:li>sciencedirect.com</rdf:li>
</rdf:Bag>
</pdfx:AuthoritativeDomain>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end="w"?>
Greetings
All is working
I used excel with this code and the last code and all is good
I install VB6 and used the code there and now organizing code in form
Thank you sir
I've removed the link, do not post these type of links again.
Thanks any way I am so great full for your help
Sorry for that.
I know and sure about that, but I post it in case some one like syrian are blocked to enter even some science sites because of world politics.
Adobe is forced to do that and lose some selling products, as we forced to do that even if this threats our privacy and security.
it ends up, we leave in 2011 while world is trying every thing new, I will never accebpt that what ever the way is.
Before 2011 we were able to bye all products, now world bad people trying to use us against regime by blocking every thing they can.
Thanks sir again and again wish you all the best.
Every thing is perfect and it shows all properties names and values.
I am so surprised with this amount of properties
You really did all the code, and with notes all around.
Your way in explaining codes and the time you give is absolutely enough to help even blind people to write a code.
All that I can say is "So lucky are people on this site or where ever you are "
BTW I searched history for this link, it is Adobe Acrobat pro DC 2021 install.
Check the link, Actually it is the only way we can get new software.
Ones software is installed, all libraries of acrobat appears in references automatically.
Link removed by admin
Thank you sir
It seems so perfect, especially it is now writing into sheet
so exited to see results, will check it with files i am sure it has the metadata i need.
Debug.Print i, s.
Will try that.
Alot of Thanks sir
For a beginner, I am So glad with results.
Even if it is copy and paste i have reached the data I want.
Really appreciate your help.
Wish you all the best
I tried with mp3 file song and i got more values for i
for example 13 = the artist
and i got values more than 20
so maybe details for pdf is different