|
This example shows how to read an existing PDF document and insert
a background image into every page.
We start by reading our template PDF document and finding out core
information we will need to reference each page.
[C#]
Doc theDoc = new Doc();
theDoc.Read(Server.MapPath("../mypics/sample.pdf"));
int theCount = theDoc.PageCount;
[Visual Basic]
Dim theDoc As Doc = New Doc()
theDoc.Read(Server.MapPath("../mypics/sample.pdf"))
Dim theCount As Integer = theDoc.PageCount
We cycle through the pages inserting images as we go.
We set the layer property to ensure that the image gets added in
the background rather than on top of existing content.
The first time we add an image file. Subsequent times we reference
the image ID. This means that we embed only one copy of the image
data and simply reference that data from each page.
Finally we save the modified PDF.
[C#]
int theID = 0;
for (int i = 1; i <= theCount; i++) {
theDoc.PageNumber = i;
theDoc.Layer = theDoc.LayerCount + 1;
if (i == 1) {
string thePath = Server.MapPath("../mypics/light.jpg");
theID = theDoc.AddImageFile(thePath, 1);
}
else
theDoc.AddImageCopy(theID);
}
theDoc.Save(Server.MapPath("watermark.pdf"));
theDoc.Clear();
[Visual Basic]
Dim theID As Integer = 0
Dim i As Integer
For i = 1 To theCount
theDoc.PageNumber = i
theDoc.Layer = theDoc.LayerCount + 1
If i = 1 Then
Dim thePath As String = Server.MapPath("../mypics/light.jpg")
theID = theDoc.AddImageFile(thePath, 1)
Else
theDoc.AddImageCopy(theID)
End If
Next
theDoc.Save(Server.MapPath("watermark.pdf"))
theDoc.Clear()
Given the following document.

sample.pdf - [Page 1] |

sample.pdf - [Page 2] |

sample.pdf - [Page 3] |

sample.pdf - [Page 4] |
And the following image.

This is the kind of output you might expect.

watermark.pdf - [Page 1] |

watermark.pdf - [Page 2] |

watermark.pdf - [Page 3] |

watermark.pdf - [Page 4] |
|