ImageAssert: Compare PDFs in Java JUnit tests
ImageAssert is a Java library that compares PDF documents in JUnit tests:
- It creates images for every page, by default using the pdf-renderer library, but it can also call ImageMagick or XPdf externally (see
setPdfImageSplitter). - The images are compared pixel-by-pixel.
- If the images are different, a compare dialog is shown if not running with
-Djava.awt.headless=true. You can also implement your own way to show the results, seeImageAssert#setCompareResultHandler.
Example
ImageAssert imageAssert = new ImageAssert();
imageAssert.assertPdfEquals(
SomeClass.class.getResourceAsStream("expected.pdf")),
new FileInputStream(actualPdfFile));Maven Dependency
<dependency>
<groupId>de.ralfebert</groupId>
<artifactId>imageassert</artifactId>
<version>2.1.0</version>
<scope>test</scope>
</dependency>Downloads
Project infrastructure
-
git clone git://github.com/ralfebert/imageassert.git
Version History
2.1.0, 2011-04-27
- Use the Java pdf-renderer library by default to convert PDF documents to images via
PdfRendererImageSplitter. - Removed SWT support.
2.0.2, 2010-07-21
- ImageAssert is now available in Maven Central.
2.0.1, 2010-07-20
- Swing ImageCompareDialog now has a “Save as” button to save the actual PDF (change)
2.0.0, 2010-04-23
- Root package changed from
imageasserttode.ralfebert.imageassert - Maven repository is available at
http://www.ralfebert.de/projects/releases/maven/ - Used a Maven-compatible project structure while keeping the PDE bundle project configuration
-
IPdfImageSplitterstrategy for splitting PDFs to page images, providedImageMagickSplitterandXpdfSplitter. -
ICompareResultHandlerstrategy for showing compare results, providedJUnitCompareResultHandler,SwingCompareResultHandlerandSwtCompareResultHandler(SWT is available via p2 only).
1.0.0, 2010-02-27
- Initial implementation refactored from helper classes and released as imageassert library.
License
ImageAssert is dual-licensed as: