Package com.itextpdf.testutils
Class CompareTool
- java.lang.Object
-
- com.itextpdf.testutils.CompareTool
-
public class CompareTool extends java.lang.Object
Helper class for tests: uses ghostscript to compare PDFs at a pixel level.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
CompareTool.CompareResult
-
Constructor Summary
Constructors Constructor Description CompareTool()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
compare(java.lang.String outPdf, java.lang.String cmpPdf, java.lang.String outPath, java.lang.String differenceImagePrefix)
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)
boolean
compareArrays(PdfArray outArray, PdfArray cmpArray)
boolean
compareBooleans(PdfBoolean outBoolean, PdfBoolean cmpBoolean)
java.lang.String
compareByContent(java.lang.String outPdf, java.lang.String cmpPdf, java.lang.String outPath, java.lang.String differenceImagePrefix)
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)
protected java.lang.String
compareByContent(java.lang.String outPath, java.lang.String differenceImagePrefix, java.util.Map<java.lang.Integer,java.util.List<Rectangle>> ignoredAreas)
boolean
compareContentStreamsByParsing(PdfObject outObj, PdfObject cmpObj)
boolean
compareContentStreamsByParsing(PdfObject outObj, PdfObject cmpObj, PdfDictionary outResources, PdfDictionary cmpResources)
boolean
compareDictionaries(PdfDictionary outDict, PdfDictionary cmpDict)
java.lang.String
compareDocumentInfo(java.lang.String outPdf, java.lang.String cmpPdf)
java.lang.String
compareLinks(java.lang.String outPdf, java.lang.String cmpPdf)
boolean
compareLiterals(PdfLiteral outLiteral, PdfLiteral cmpLiteral)
boolean
compareNames(PdfName outName, PdfName cmpName)
boolean
compareNumbers(PdfNumber outNumber, PdfNumber cmpNumber)
boolean
compareStreams(PRStream outStream, PRStream cmpStream)
boolean
compareStrings(PdfString outString, PdfString cmpString)
java.lang.String
compareTagStructures(java.lang.String outPdf, java.lang.String cmpPdf)
boolean
compareXmls(byte[] xml1, byte[] xml2)
boolean
compareXmls(java.lang.String xml1, java.lang.String xml2)
java.lang.String
compareXmp(byte[] xmp1, byte[] xmp2)
java.lang.String
compareXmp(byte[] xmp1, byte[] xmp2, boolean ignoreDateAndProducerProperties)
java.lang.String
compareXmp(java.lang.String outPdf, java.lang.String cmpPdf)
java.lang.String
compareXmp(java.lang.String outPdf, java.lang.String cmpPdf, boolean ignoreDateAndProducerProperties)
java.lang.String
getXmlReportName()
CompareTool
setCompareByContentErrorsLimit(int compareByContentMaxErrorCount)
Sets the maximum errors count which will be returned as the result of the comparison.CompareTool
setFloatAbsoluteError(float error)
Sets the absolute error parameter which will be used in floating point numbers comparison.CompareTool
setFloatRelativeError(float error)
Sets the relative error parameter which will be used in floating point numbers comparison.void
setGenerateCompareByContentXmlReport(boolean generateCompareByContentXmlReport)
void
setXmlReportName(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.IOException
java.lang.InterruptedException
DocumentException
-
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.IOException
java.lang.InterruptedException
DocumentException
-
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:
DocumentException
java.lang.InterruptedException
java.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:
DocumentException
java.lang.InterruptedException
java.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:
DocumentException
java.lang.InterruptedException
java.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.ParserConfigurationException
org.xml.sax.SAXException
java.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.IOException
javax.xml.parsers.ParserConfigurationException
org.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.ParserConfigurationException
org.xml.sax.SAXException
java.io.IOException
-
-