Planet PDF Forum Archive

Planet PDF ForumWowsers! This is page is old, head to the LIVE Planet PDF Forum. It features more than 10 conferences, covering everything from beginner to in-depth developer and pre-press discussions. If you wish to continue... one & two archive covers 1999-2011 (160,000 pages).


New Forum | Previous | Next | (P-PDF) Developers


Topic: Re: Can API embed a raw data file into PDF file?
Conf: (P-PDF) Developers, Msg: 56601
From: Leofwchan
Date: 5/29/2002 05:20 PM

Dear all,

>1. Register with Adobe for a company prefix. This will be
>a four letter code. This is important, though not everyone
>bothers, because it makes sure that all your changes will
>not interfere with changes made by any other developer.

I got a company prefix MYCO in hsData->extensionName of
handshake callback function.

attributesDict = CosNewDict(cdoc, false, 1L);
so I change it into
Length_K = ASAtomFromString("MYCO_info");
or Length_K = ASAtomFromString("Length");
LengthEntry = CosNewInteger(cdoc, false, theFileLength);
CosDictPut(attributesDict, Length_K, LengthEntry);
But it doesn't work?

>2. Pick a location to store your private information. One
>obvious place is the root object.

cosObjRoot= CosDocGetRoot (cosDoc);

Mn, I do not know where need to use cosObjRoot since I use
CosNewDict() to create own dict.

>3. Pick a key. For instance, if your company code is abcd,
>then a key of abcd_info might be used.

this one?
Length_K = ASAtomFromString("MYCO_info");
LengthEntry = CosNewInteger(cdoc, false, theFileLength);
CosDictPut(attributesDict, Length_K, LengthEntry);

>4. I'd recommend creating a dictionary rather than storing
>the object directly. This will give more flexibility and
>allow new objects in future, and keep the root object
>tidier. You would need code
>(a) check if abcd_info is an existing dictionary in the
>root object. If it does not exist, create an empty dictionary
>and store it. Make the dictionary indirect.

I made it former. and use "false" in argument.

>(b) code to fetch the dictionary abcd_info
>Now you can use this dictionary to store any objects you
>like, with keys of your choice, and fetch them in future.
My understand is: get ASFile pointer and File size
then put them in new CosDict by CosDictPut(), that is attachment.
Mn, it does not work!? Would any expert give me more advice. Thanks a lot!!

Leo

//-------- reference code ----------------------------------
name = ASFileSysPathFromDIPath (ASGetDefaultFileSys(),
"/c/embed.dat", NULL);
if (name==NULL) AVAlertNote("not yet");

rtn = ASFileSysOpenFile (ASGetDefaultFileSys(), name,
ASFILE_READ, &asFile);
if (rtn!=0) AVAlertNote("not yet");

theFileLength = ASFileGetEOF( asFile ) ;

attributesDict = CosNewDict(cdoc, false, 1L);
Length_K = ASAtomFromString("MYCO_info");
or Length_K = ASAtomFromString("Length");
LengthEntry = CosNewInteger(cdoc, false, theFileLength);
CosDictPut(attributesDict, Length_K, LengthEntry);

stm= ASFileStmRdOpen (asFile,0);

cStmObj = CosNewStream(cdoc,true,stm, -1,true,
attributesDict, CosNewNull(), -1 ) ;

ASFileClose (asFile);



PDF In-Depth Free Product Trials Ubiquitous PDF

Debenu Aerialist

The ultimate plug-in for Adobe Acrobat. Advanced splitting, merging, stamping, bookmarking, and link...

Download free demo

Debenu PDF Tools Pro

It's simple to use and will let you preview and edit PDF files, it's a Windows application that makes...

Download free demo

Back to the past, 15 years ago! Open Publish 2002

Looking back to 2002, it's amazing how much of the prediction became a reality. Take a read and see what you think!

September 14, 2017
Platinum Sponsor





Search Planet PDF
more searching options...
Planet PDF Newsletter
Most Popular Articles
Featured Product

Debenu PDF Aerialist

The ultimate plug-in for Adobe Acrobat. Advanced splitting, merging, stamping, bookmarking, and link control. Take Acrobat to the next level.

Features

Adding a PDF Stamp Comment

OK, so you want to stamp your document. Maybe you need to give reviewers some advice about the document's status or sensitivity. This tip from author Ted Padova demonstrates how to add stamps with the Stamp Tool along with related comments.