Screenshot

Usage

A panel to show the pdf licence of the installed application.

These panels can prompt the user to acknowledge a license agreement. They block unless the user selects the 'agree' option. To specify the license agreement text you have to use the PdfLicencePanel.licence resource.

You can use multiple instances of HTMLLicencePanel this way:

<resources>
    <res id="PDFLicencePanel.licence" src="iz/apache-license.pdf"/>
</resources>
<panels> 
    <panel classname="PDFLicencePanel" id="licence" />
</panels>
 
	<jar src="deps/batik-awt-util.jar" />
	<jar src="deps/batik-dom.jar" />
	<jar src="deps/batik-svg-dom.jar" />
	<jar src="deps/batik-svggen.jar" />
	<jar src="deps/batik-util.jar" />
	<jar src="deps/batik-xml.jar" />
	<jar src="deps/commons-logging.jar" />
	<jar src="deps/fontbox.jar" />
	<jar src="deps/icepdf-core.jar" />
	<jar src="deps/icepdf-viewer.jar" />
	<jar src="deps/jai-codec.jar" />
	<jar src="deps/jai-core.jar" />
	<jar src="deps/jempbox.jar" />
	<jar src="deps/pdfbox.jar" />
 

Since 5.0.7:
For the console installation mode, the info text can be preformatted for displaying using the following features: 

Configuration 

The word wrap and paging feature described above must be activated depending on the format of the info text, they are deactivated by default. 

Panel configuration parameterPossible valuesDefaultDescription
console-text-wordwrap
true | false
false

Set "true" in order to activate word wrapping for the displayed text in console installation mode.

Since: 5.0.7

console-text-paging
true | false
false

Set "true" in order to activate paging for the displayed text in console installation mode.

Since: 5.0.7

 Example: 

<panels>
    <panel classname="PDFLicencePanel" id="panel.license">
      <configuration>
        <param name="console-text-paging" value="true" />
        <param name="console-text-wordwrap" value="false" />
      </configuration>
    </panel>
    ...
</panels> 

The two options work independently on each other. If there are both activated, word wrapping is done before calculating the page size for paging.

Resources

ResourceDescription
PDFLicencePanel.licenceThe license agreement text to show on the panel.

 

Maven Dependencies

This Panel depends on Apache PDF Box and Ice PDF. The dependencies must be available for the plugins and also included into the installer, enabling it to load the PDF in runtime when installing.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>	
	
	<parent>
		<groupId>some-group-id</groupId>
		<artifactId>some-parent-artifact-id</artifactId>
		<version>1.0.0-SNAPSHOT</version>
	</parent>
	
	<artifactId>some-artifact-id</artifactId>

	<name>Sample Installer</name>
	<description>Installer for Sample</description>

	<packaging>jar</packaging>

	<dependencies>
		<!-- PDF Panel -->
      	<dependency>
        	<groupId>org.apache.pdfbox</groupId>
      	  	<artifactId>pdfbox</artifactId>
        	<version>1.8.10</version>
      	</dependency>
      	<dependency>
			<groupId>org.icepdf.os</groupId>
			<artifactId>icepdf-core</artifactId>
			<version>6.0.1</version>
	 	</dependency>
	 	<dependency>
			<groupId>org.icepdf.os</groupId>
			<artifactId>icepdf-viewer</artifactId>
			<version>6.0.1</version>
	  	</dependency>
	  	<!-- PDF Panel -->
	</dependencies>

	<build>
		<defaultGoal>package</defaultGoal>
		<resources>
			<resource>
				<directory>src/izpack</directory>
				<filtering>true</filtering>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<encoding>${project.build.sourceEncoding}</encoding>
					<source>${maven.compiler.source}</source>
					<target>${maven.compiler.target}</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<configuration>
					<transitive>true</transitive>
				</configuration>
				<executions>	
					<execution>
						<id>pdf</id>
						<phase>process-resources</phase>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<stripVersion>true</stripVersion>
							<includeScope>compile</includeScope>
							<outputDirectory>${stage.dir.fullpath}/deps</outputDirectory>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.codehaus.izpack</groupId>
				<artifactId>izpack-maven-plugin</artifactId>
				<version>${izpack-maven-plugin.version}</version>
				<dependencies>
					<dependency>
						<groupId>org.codehaus.izpack</groupId>
						<artifactId>izpack-compiler</artifactId>
						<version>${izpack.version}</version>
					</dependency>
					<!-- PDF Panel -->
      				<dependency>
        				<groupId>org.apache.pdfbox</groupId>
      				  	<artifactId>pdfbox</artifactId>
        					<version>1.8.10</version>
      				</dependency>
      					<dependency>
						<groupId>org.icepdf.os</groupId>
						<artifactId>icepdf-core</artifactId>
						<version>6.0.1</version>
	 				</dependency>
	 			 	<dependency>
						<groupId>org.icepdf.os</groupId>
		  				<artifactId>icepdf-viewer</artifactId>
		  				<version>6.0.1</version>
	  				</dependency>
	  				<!-- PDF Panel -->
				</dependencies>
				<configuration>
					<baseDir>${stage.dir.fullpath}</baseDir>
					<installFile>${stage.dir.fullpath}/install.xml</installFile>
					<mkdirs>true</mkdirs>
					<jarName>${project.build.finalName}-standard</jarName>
				</configuration>
				<executions>
					<execution>
						<id>standard-installer</id>
						<phase>package</phase>
						<goals>
							<goal>izpack</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

	<repositories>
		<repository>
			<id>ice-maven-release</id>
			<name>Ice Maven Release Repository</name>
			<url>http://anonsvn.icesoft.org/repo/maven2/releases</url>
		</repository>
	</repositories>
	<pluginRepositories>
		<pluginRepository>
			<id>ice-maven-release</id>
			<name>Ice Maven Release Repository</name>
			<url>http://anonsvn.icesoft.org/repo/maven2/releases</url>
		</pluginRepository>
	</pluginRepositories>
</project>