Hello again,
I already saw that there is a command line tool, but can I retrieve all the
information with it? Like the color of the note?
In the meantime I already figured out that I have to use NSKeyedUnarchiver to
get the 'real' data - and it worked!
Now what I get in return is an NSArray, which is now 'human-readable'. Below
there is an example element of that array.
Question: I would like to have some sort of RGB-Value like used to denote
colors in HTML webpages. I don't quite know what 'NSDeviceRGBColorSpace 0
0.976805 0 1' nor to translate it into some sort of RGB(x, y, z) value. Do you
have an idea?
{
bounds = "{{72, 114.1443}, {195.22439999999978, 106.05060000000002}}";
color = "NSDeviceRGBColorSpace 0 0.976805 0 1";
contents = "An IT artifact, implemented in an organizational context,
is often the object of study in IS behav- ioral-science research. Theories seek
to predict or explain phenomena that occur with respect to the artifacti\U0301s
use (intention to use), perceived usefulness, and impact on individuals and
organi- zations (net benefits) depending on system, service, and information
quality (DeLone and McLean 1992, 2003; Seddon 1997).";
modificationDate = "2015-10-04 13:56:45 +0000";
pageIndex = 2;
quadrilateralPoints = (
"{0, 106.05060000000002}",
"{195.01650000000024, 106.05060000000002}",
"{0, 95.99760000000002}",
"{195.01650000000024, 95.99760000000002}",
"{0, 94.050900000000027}",
"{195.14969999999994, 94.050900000000027}",
"{0, 83.99790000000003}",
"{195.14969999999994, 83.99790000000003}",
"{0, 82.051200000000009}",
"{195.01559999999978, 82.051200000000009}",
"{0, 71.998200000000011}",
"{195.01559999999978, 71.998200000000011}",
"{0, 70.051500000000019}",
"{194.76180000000011, 70.051500000000019}",
"{0, 59.998500000000021}",
"{194.76180000000011, 59.998500000000021}",
"{0, 58.051800000000028}",
"{195.05880000000019, 58.051800000000028}",
"{0, 47.998800000000031}",
"{195.05880000000019, 47.998800000000031}",
"{0, 46.05210000000001}",
"{195.03719999999993, 46.05210000000001}",
"{0, 35.999100000000013}",
"{195.03719999999993, 35.999100000000013}",
"{0, 34.05240000000002}",
"{195.22439999999978, 34.05240000000002}",
"{0, 23.999400000000023}",
"{195.22439999999978, 23.999400000000023}",
"{0, 22.052700000000002}",
"{194.99850000000032, 22.052700000000002}",
"{0, 11.99969999999999}",
"{194.99850000000032, 11.99969999999999}",
"{0, 10.052999999999997}",
"{142.73369999999974, 10.052999999999997}",
"{0, 0}",
"{142.73369999999974, 0}"
);
type = Highlight;
}
> On 05 Oct 2015, at 11:12, Christiaan Hofman <[email protected]> wrote:
>
> It’s a private format.
>
> However as for the part you have done, it’s better not to do this yourself.
> There is a command line tool (skimnotes) embedded in Skim to extract the
> notes data from the file, so you don’t have to deal with the particulars of
> the extended attributes and assembly of the parts. This is also explained on
> the Wiki, and there are also some sample scripts using it.
>
> As for the format, it is really archived Obj-C objects. It may look like a
> plist, but its format is private, and in this case not documented (it’s made
> by Apple’s frameworks, and they don’t even tell us it’s a plist). To read it
> you need to use the NSKeyedUnarchiver obj-C class. As the Wiki page says.
> This should also be possible from python, though I don’t know much about
> PyObjC.
>
> Christiaan
>
>> On Oct 5, 2015, at 8:15, David Becher <[email protected]> wrote:
>>
>> Actually, I already figured out how to get to the xargs. By having a look at
>> the source code I saw that you compressed and splitted the data across
>> different arg values. I was able to join and uncompress them, resulting in a
>> plist file (and this with not very much knowledge of Obj-C, I am kind of
>> proud). Now my question: can maybe someone elaborate on the plist-structure
>> for skim-notes? I want to parse the plist, however all I found was this:
>>
>> http://sourceforge.net/p/skim-app/wiki/Skim_Notes_Keys/
>>
>> and I don't really understand the structure of that table (is that even a
>> table, it seems wrongly formatted for a table).
>>
>> All the best,
>> David
>>
>>
>>> On 05 Oct 2015, at 05:10, David Becher <[email protected]> wrote:
>>>
>>> Ah, thanks for that. There See even dedicated Python libraries for xargs
>>> read access :)
>>>
>>> Last question: which format did you save the notes in? Just so I know how
>>> to properly parse :) Is it one of the Obj-C data-types like NSArray?
>>>
>>>
>>>
>>> On Oct 5, 2015, at 12:03 AM, Christiaan Hofman <[email protected]> wrote:
>>>
>>>>
>>>>> On Oct 4, 2015, at 23:59, David Becher <[email protected]>
>>>>> wrote:
>>>>>
>>>>> Hello there,
>>>>>
>>>>> I am right now typing up a python script which - hopefully - can extract
>>>>> the notes of a given PDF file annotated with Skim. I don't want to use
>>>>> AppleScript, on the one hand it is actually possible with AppleScript to
>>>>> export the notes to text, however it does not provide enough information
>>>>> (color of highlight e.g.).
>>>>>
>>>>> However, i can't seem to find the physical location in which Skim writes
>>>>> these notes. It is not the PDF file itself, since its md5sum does not
>>>>> change. I tried narrowing it down by using `lsof -p <Skim-PID>`, however
>>>>> ultimately I could not find the file in which it is being stored.
>>>>>
>>>>> Can maybe someone help me out? I would have a look at the source code,
>>>>> however I don't know a thing about Objective-C at all.
>>>>>
>>>>> All the best,
>>>>> David
>>>>
>>>> It’s in the extended attributes of the file. That’s also mentioned on the
>>>> Wiki.
>>>>
>>>> Christiaan
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Skim-app-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/skim-app-users
------------------------------------------------------------------------------
_______________________________________________
Skim-app-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-users