• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 864
  • Last Modified:

Creating an empty sheet in an existing PDF and adding a watermark

Hi experts.  Want to know how to VFP9 programmatically insert a blank pdf sheet in an existing PDF file (as the first page) and put a watermark "Confidential stamp" on it.  I already use that portion of code, but do not succeed to insert a blank sheet so far:

lo = createobject("AcroExch.App")
oNew = createobject("AcroExch.PDDoc")
oNew.open("C:\test.pdf")
oNew.InsertPages(-1,oNew,0,oNew.GetNumPages(),1)  && this insert a copy of first page, not empty page...

Can you be of any help ?
0
meep_meep
Asked:
meep_meep
  • 5
  • 4
1 Solution
 
Olaf DoschkeSoftware DeveloperCommented:
Refer to the documentation.

Inserts the specified pages from the source document after the indicated page within the current document.

So the method isn't there to insert blank pages, it inserts pages (one page) of the oNew document to the oNew document, because you specify so in the parameters.

You need a blank page PDF and load it as oBlank=createobject("AcroExch.PDDoc")
oBlank.open("C:\blank.pdf"), then you can insert that.

Bye, Olaf.
0
 
meep_meepAuthor Commented:
Exact, I found this a few hours ago.  Since I'm trying to either change a text on a "controlled inserted page" or adding a watermark.  So far no success.  Any ideas ?
0
 
Olaf DoschkeSoftware DeveloperCommented:
I already proopsed an idea, didn't I?

Open Word or Wordpad, print a new empty document as PDF and you have a blank.pdf you can use to insert into your other PDFs.

Bye, Olaf.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
meep_meepAuthor Commented:
Sorry, I gave a bad explanation of my understanding :(   This is exactly what I've done: printed an empty WordPad into PDF.  This gave me the possibility to insert a white page.  Next step is to programmatically either edit a previously saved Watermark or create a new one.  I already found how to get a previouslay saved watermark

acroAvDoc = CREATEOBJECT("AcroExch.AVDoc")
acroAvDoc.Open("c:\blank2.pdf","Temp")
acroPDDoc = acroAVDoc.GetPDDoc
acroRect = CREATEOBJECT("AcroExch.Rect")
acroRect.bottom=380
acroRect.Top=400
acroRect.Left=100
acroRect.right=500
PDTextSelect = acroPDDoc.CreateTextSelect(0,acroRect)
?PDTextSelect.GetText(0)

From that point, I have watermark text but did not fnd so far how to replace it by something else...  At this point, I'm not even sure I could do it :(

Thanks.
0
 
Olaf DoschkeSoftware DeveloperCommented:
I don't know the AcroExch API, I just could google again, what it offers.

The simplest method would be to delete the previous empty/watermark page and create a new one, wouldn't it? If there is InsertPages, isn't there DeletePages, too?

Bye, Olaf.
0
 
meep_meepAuthor Commented:
Yes, but I manually wrote watermark, not programmatically.  I was thinking by manually position it, font it, orient it and so on it would be easier to "just change text" after: obviouly not !   At this point, if I can't "just change text", my turn around would be to create a VFP report, fill it with table's data and make it PDF so that will be the "inserted page".
0
 
Olaf DoschkeSoftware DeveloperCommented:
>my turn around would be to create a VFP report, fill it with table's data
>and make it PDF so that will be the "inserted page".

Indeed, or write it in Word/Wordpad and create the "watermark.pdf" to insert, which can also be done by Word automation, for example.

Bye, Olaf.
0
 
meep_meepAuthor Commented:
Bingo.
0
 
meep_meepAuthor Commented:
Always a pleasure to be assisted by you, Olaf.
Meep_meep
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now