' Copyright (c) 2003 UJIHARA Kazuya. All rights reserved. ' ' Redistribution and use in source and binary forms, with or without ' modification, are permitted provided that the following conditions ' are met: ' ' 1. Redistributions of source code must retain the above copyright ' notice, this list of conditions and the following disclaimer. ' ' 2. Redistributions in binary form must reproduce the above copyright ' notice, this list of conditions and the following disclaimer in ' the Documentation and/or other materials provided with the ' distribution. ' ' 3. The end-user Documentation included with the redistribution, ' if any, must include the following acknowledgment: ' "This product includes software developed by ' Kazuya Ujihara ." ' Alternately, this acknowledgment may appear in the software itself, ' if and wherever such third-party acknowledgments normally appear. ' ' THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED ' WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ' OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE ' DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ' ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ' SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ' LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES LOSS OF ' USE, DATA, OR PROFITS OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ' ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ' OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ' OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ' SUCH DAMAGE. ' ==================================================================== ' ' This code is free software. It may only be copied or modified ' if you include the following copyright notice: ' ' --> Copyright 2001 by Bruno Lowagie <-- ' ' This code is part of the 'iText Tutorial'. ' You can find the complete tutorial at the following address: ' http:'www.lowagie.com/iText/tutorial/ ' ' This code is distributed in the hope that it will be useful, ' but WITHOUT ANY WARRANTY without even the implied warranty of ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ' ' itext@lowagie.com Option Strict On Imports System Imports com.lowagie.text Imports com.lowagie.text.pdf Imports java.io Public Class Chap0108 Public Shared Sub Main(ByVal args As String()) Console.WriteLine("Chapter 1 example 8: Viewerpreferences") ' step 1: creation of a document-object Dim Document As New Document() ' step 2: ' we create a writer that listens to the document ' and directs a PDF-stream to a file Dim writerA As PdfWriter = PdfWriter.getInstance(Document, New FileOutputStream("Chap0108a.pdf")) writerA.setViewerPreferences(PdfWriter.PageLayoutTwoColumnLeft) Dim writerB As PdfWriter = PdfWriter.getInstance(Document, New FileOutputStream("Chap0108b.pdf")) writerB.setViewerPreferences(PdfWriter.HideMenubar Or PdfWriter.HideToolbar) Dim writerC As PdfWriter = PdfWriter.getInstance(Document, New FileOutputStream("Chap0108c.pdf")) writerC.setViewerPreferences(PdfWriter.PageLayoutTwoColumnLeft Or PdfWriter.PageModeFullScreen Or PdfWriter.NonFullScreenPageModeUseThumbs) ' step 3: ' we add a Watermark that will show up on PAGE 1 Try Dim Watermark As New Watermark(Image.getInstance("watermark.jpg"), 200, 420) Document.add(Watermark) Catch e As Exception Console.WriteLine("Are you sure you have the file 'watermark.jpg' in the right path?") End Try ' we add a Header that will show up on PAGE 1 Dim header As New HeaderFooter(New Phrase("This is a header"), False) Document.setHeader(header) ' we open the document Document.open() ' we rotate the page, starting from PAGE 2 Document.setPageSize(PageSize.A4.rotate()) ' we need to change the position of the Watermark Try Dim Watermark As New Watermark(Image.getInstance("watermark.jpg"), 320, 200) Document.add(Watermark) Catch e As Exception Console.WriteLine("Are you sure you have the file 'watermark.jpg' in the right path?") End Try ' we add a Footer that will show up on PAGE 2 Dim footer As New HeaderFooter(New Phrase("This is page: "), True) Document.setFooter(footer) ' step 4: we add content to the document ' PAGE 1 Document.add(New Paragraph("Hello World")) ' we trigger a page break Document.newPage() ' PAGE 2 ' we add some more content Document.add(New Paragraph("Hello Earth")) ' we remove the header starting from PAGE 3 Document.resetHeader() ' we trigger a page break Document.newPage() ' PAGE 3 ' we add some more content Document.add(New Paragraph("Hello Sun")) Document.add(New Paragraph("Remark: the header has vanished!")) ' we reset the page numbering Document.resetPageCount() ' we trigger a page break Document.newPage() ' PAGE 4 ' we add some more content Document.add(New Paragraph("Hello Moon")) Document.add(New Paragraph("Remark: the pagenumber has been reset!")) ' step 5: we close the document Document.close() End Sub End Class