Package com.itextpdf.testutils
Class CompareTool
- java.lang.Object
-
- com.itextpdf.testutils.CompareTool
-
public class CompareTool extends java.lang.ObjectHelper class for tests: uses ghostscript to compare PDFs at a pixel level.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classCompareTool.CompareResult
-
Constructor Summary
Constructors Constructor Description CompareTool()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Stringcompare(java.lang.String outPdf, java.lang.String cmpPdf, java.lang.String outPath, java.lang.String differenceImagePrefix)java.lang.Stringcompare(java.lang.String outPdf, java.lang.String cmpPdf, java.lang.String outPath, java.lang.String differenceImagePrefix, java.util.Map<java.lang.Integer,java.util.List<Rectangle>> ignoredAreas)booleancompareArrays(PdfArray outArray, PdfArray cmpArray)booleancompareBooleans(PdfBoolean outBoolean, PdfBoolean cmpBoolean)java.lang.StringcompareByContent(java.lang.String outPdf, java.lang.String cmpPdf, java.lang.String outPath, java.lang.String differenceImagePrefix)java.lang.StringcompareByContent(java.lang.String outPdf, java.lang.String cmpPdf, java.lang.String outPath, java.lang.String differenceImagePrefix, java.util.Map<java.lang.Integer,java.util.List<Rectangle>> ignoredAreas)protected java.lang.StringcompareByContent(java.lang.String outPath, java.lang.String differenceImagePrefix, java.util.Map<java.lang.Integer,java.util.List<Rectangle>> ignoredAreas)booleancompareContentStreamsByParsing(PdfObject outObj, PdfObject cmpObj)booleancompareContentStreamsByParsing(PdfObject outObj, PdfObject cmpObj, PdfDictionary outResources, PdfDictionary cmpResources)booleancompareDictionaries(PdfDictionary outDict, PdfDictionary cmpDict)java.lang.StringcompareDocumentInfo(java.lang.String outPdf, java.lang.String cmpPdf)java.lang.StringcompareLinks(java.lang.String outPdf, java.lang.String cmpPdf)booleancompareLiterals(PdfLiteral outLiteral, PdfLiteral cmpLiteral)booleancompareNames(PdfName outName, PdfName cmpName)booleancompareNumbers(PdfNumber outNumber, PdfNumber cmpNumber)booleancompareStreams(PRStream outStream, PRStream cmpStream)booleancompareStrings(PdfString outString, PdfString cmpString)java.lang.StringcompareTagStructures(java.lang.String outPdf, java.lang.String cmpPdf)booleancompareXmls(byte[] xml1, byte[] xml2)booleancompareXmls(java.lang.String xml1, java.lang.String xml2)java.lang.StringcompareXmp(byte[] xmp1, byte[] xmp2)java.lang.StringcompareXmp(byte[] xmp1, byte[] xmp2, boolean ignoreDateAndProducerProperties)java.lang.StringcompareXmp(java.lang.String outPdf, java.lang.String cmpPdf)java.lang.StringcompareXmp(java.lang.String outPdf, java.lang.String cmpPdf, boolean ignoreDateAndProducerProperties)java.lang.StringgetXmlReportName()CompareToolsetCompareByContentErrorsLimit(int compareByContentMaxErrorCount)Sets the maximum errors count which will be returned as the result of the comparison.CompareToolsetFloatAbsoluteError(float error)Sets the absolute error parameter which will be used in floating point numbers comparison.CompareToolsetFloatRelativeError(float error)Sets the relative error parameter which will be used in floating point numbers comparison.voidsetGenerateCompareByContentXmlReport(boolean generateCompareByContentXmlReport)voidsetXmlReportName(java.lang.String xmlReportName)
-
-
-
Method Detail
-
compare
public java.lang.String compare(java.lang.String outPdf, java.lang.String cmpPdf, java.lang.String outPath, java.lang.String differenceImagePrefix, java.util.Map<java.lang.Integer,java.util.List<Rectangle>> ignoredAreas) throws java.io.IOException, java.lang.InterruptedException, DocumentException- Throws:
java.io.IOExceptionjava.lang.InterruptedExceptionDocumentException
-
compare
public java.lang.String compare(java.lang.String outPdf, java.lang.String cmpPdf, java.lang.String outPath, java.lang.String differenceImagePrefix) throws java.io.IOException, java.lang.InterruptedException, DocumentException- Throws:
java.io.IOExceptionjava.lang.InterruptedExceptionDocumentException
-
setCompareByContentErrorsLimit
public CompareTool setCompareByContentErrorsLimit(int compareByContentMaxErrorCount)
Sets the maximum errors count which will be returned as the result of the comparison.- Parameters:
compareByContentMaxErrorCount- the errors count.- Returns:
- Returns this.
-
setGenerateCompareByContentXmlReport
public void setGenerateCompareByContentXmlReport(boolean generateCompareByContentXmlReport)
-
setFloatAbsoluteError
public CompareTool setFloatAbsoluteError(float error)
Sets the absolute error parameter which will be used in floating point numbers comparison.- Parameters:
error- the epsilon new value.- Returns:
- Returns this.
-
setFloatRelativeError
public CompareTool setFloatRelativeError(float error)
Sets the relative error parameter which will be used in floating point numbers comparison.- Parameters:
error- the epsilon new value.- Returns:
- Returns this.
-
getXmlReportName
public java.lang.String getXmlReportName()
-
setXmlReportName
public void setXmlReportName(java.lang.String xmlReportName)
-
compareByContent
protected java.lang.String compareByContent(java.lang.String outPath, java.lang.String differenceImagePrefix, java.util.Map<java.lang.Integer,java.util.List<Rectangle>> ignoredAreas) throws DocumentException, java.lang.InterruptedException, java.io.IOException- Throws:
DocumentExceptionjava.lang.InterruptedExceptionjava.io.IOException
-
compareByContent
public java.lang.String compareByContent(java.lang.String outPdf, java.lang.String cmpPdf, java.lang.String outPath, java.lang.String differenceImagePrefix, java.util.Map<java.lang.Integer,java.util.List<Rectangle>> ignoredAreas) throws DocumentException, java.lang.InterruptedException, java.io.IOException- Throws:
DocumentExceptionjava.lang.InterruptedExceptionjava.io.IOException
-
compareByContent
public java.lang.String compareByContent(java.lang.String outPdf, java.lang.String cmpPdf, java.lang.String outPath, java.lang.String differenceImagePrefix) throws DocumentException, java.lang.InterruptedException, java.io.IOException- Throws:
DocumentExceptionjava.lang.InterruptedExceptionjava.io.IOException
-
compareDictionaries
public boolean compareDictionaries(PdfDictionary outDict, PdfDictionary cmpDict) throws java.io.IOException
- Throws:
java.io.IOException
-
compareContentStreamsByParsing
public boolean compareContentStreamsByParsing(PdfObject outObj, PdfObject cmpObj) throws java.io.IOException
- Throws:
java.io.IOException
-
compareContentStreamsByParsing
public boolean compareContentStreamsByParsing(PdfObject outObj, PdfObject cmpObj, PdfDictionary outResources, PdfDictionary cmpResources) throws java.io.IOException
- Throws:
java.io.IOException
-
compareStreams
public boolean compareStreams(PRStream outStream, PRStream cmpStream) throws java.io.IOException
- Throws:
java.io.IOException
-
compareArrays
public boolean compareArrays(PdfArray outArray, PdfArray cmpArray) throws java.io.IOException
- Throws:
java.io.IOException
-
compareLiterals
public boolean compareLiterals(PdfLiteral outLiteral, PdfLiteral cmpLiteral)
-
compareBooleans
public boolean compareBooleans(PdfBoolean outBoolean, PdfBoolean cmpBoolean)
-
compareXmp
public java.lang.String compareXmp(byte[] xmp1, byte[] xmp2)
-
compareXmp
public java.lang.String compareXmp(byte[] xmp1, byte[] xmp2, boolean ignoreDateAndProducerProperties)
-
compareXmp
public java.lang.String compareXmp(java.lang.String outPdf, java.lang.String cmpPdf)
-
compareXmp
public java.lang.String compareXmp(java.lang.String outPdf, java.lang.String cmpPdf, boolean ignoreDateAndProducerProperties)
-
compareXmls
public boolean compareXmls(byte[] xml1, byte[] xml2) throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXException, java.io.IOException- Throws:
javax.xml.parsers.ParserConfigurationExceptionorg.xml.sax.SAXExceptionjava.io.IOException
-
compareDocumentInfo
public java.lang.String compareDocumentInfo(java.lang.String outPdf, java.lang.String cmpPdf) throws java.io.IOException- Throws:
java.io.IOException
-
compareLinks
public java.lang.String compareLinks(java.lang.String outPdf, java.lang.String cmpPdf) throws java.io.IOException- Throws:
java.io.IOException
-
compareTagStructures
public java.lang.String compareTagStructures(java.lang.String outPdf, java.lang.String cmpPdf) throws java.io.IOException, javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXException- Throws:
java.io.IOExceptionjavax.xml.parsers.ParserConfigurationExceptionorg.xml.sax.SAXException
-
compareXmls
public boolean compareXmls(java.lang.String xml1, java.lang.String xml2) throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXException, java.io.IOException- Throws:
javax.xml.parsers.ParserConfigurationExceptionorg.xml.sax.SAXExceptionjava.io.IOException
-
-