Package com.itextpdf.testutils
Class CompareTool
- java.lang.Object
-
- com.itextpdf.testutils.CompareTool
-
public class CompareTool extends 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 classCompareTool.CompareResult
-
Constructor Summary
Constructors Constructor Description CompareTool()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Stringcompare(String outPdf, String cmpPdf, String outPath, String differenceImagePrefix)Stringcompare(String outPdf, String cmpPdf, String outPath, String differenceImagePrefix, Map<Integer,List<Rectangle>> ignoredAreas)booleancompareArrays(PdfArray outArray, PdfArray cmpArray)booleancompareBooleans(PdfBoolean outBoolean, PdfBoolean cmpBoolean)StringcompareByContent(String outPdf, String cmpPdf, String outPath, String differenceImagePrefix)StringcompareByContent(String outPdf, String cmpPdf, String outPath, String differenceImagePrefix, Map<Integer,List<Rectangle>> ignoredAreas)protected StringcompareByContent(String outPath, String differenceImagePrefix, Map<Integer,List<Rectangle>> ignoredAreas)booleancompareContentStreamsByParsing(PdfObject outObj, PdfObject cmpObj)booleancompareContentStreamsByParsing(PdfObject outObj, PdfObject cmpObj, PdfDictionary outResources, PdfDictionary cmpResources)booleancompareDictionaries(PdfDictionary outDict, PdfDictionary cmpDict)StringcompareDocumentInfo(String outPdf, String cmpPdf)StringcompareLinks(String outPdf, 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)StringcompareTagStructures(String outPdf, String cmpPdf)booleancompareXmls(byte[] xml1, byte[] xml2)booleancompareXmls(String xml1, String xml2)StringcompareXmp(byte[] xmp1, byte[] xmp2)StringcompareXmp(byte[] xmp1, byte[] xmp2, boolean ignoreDateAndProducerProperties)StringcompareXmp(String outPdf, String cmpPdf)StringcompareXmp(String outPdf, String cmpPdf, boolean ignoreDateAndProducerProperties)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(String xmlReportName)
-
-
-
Method Detail
-
compare
public String compare(String outPdf, String cmpPdf, String outPath, String differenceImagePrefix, Map<Integer,List<Rectangle>> ignoredAreas) throws IOException, InterruptedException, DocumentException
-
compare
public String compare(String outPdf, String cmpPdf, String outPath, String differenceImagePrefix) throws IOException, 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 String getXmlReportName()
-
setXmlReportName
public void setXmlReportName(String xmlReportName)
-
compareByContent
protected String compareByContent(String outPath, String differenceImagePrefix, Map<Integer,List<Rectangle>> ignoredAreas) throws DocumentException, InterruptedException, IOException
-
compareByContent
public String compareByContent(String outPdf, String cmpPdf, String outPath, String differenceImagePrefix, Map<Integer,List<Rectangle>> ignoredAreas) throws DocumentException, InterruptedException, IOException
-
compareByContent
public String compareByContent(String outPdf, String cmpPdf, String outPath, String differenceImagePrefix) throws DocumentException, InterruptedException, IOException
-
compareDictionaries
public boolean compareDictionaries(PdfDictionary outDict, PdfDictionary cmpDict) throws IOException
- Throws:
IOException
-
compareContentStreamsByParsing
public boolean compareContentStreamsByParsing(PdfObject outObj, PdfObject cmpObj) throws IOException
- Throws:
IOException
-
compareContentStreamsByParsing
public boolean compareContentStreamsByParsing(PdfObject outObj, PdfObject cmpObj, PdfDictionary outResources, PdfDictionary cmpResources) throws IOException
- Throws:
IOException
-
compareStreams
public boolean compareStreams(PRStream outStream, PRStream cmpStream) throws IOException
- Throws:
IOException
-
compareArrays
public boolean compareArrays(PdfArray outArray, PdfArray cmpArray) throws IOException
- Throws:
IOException
-
compareLiterals
public boolean compareLiterals(PdfLiteral outLiteral, PdfLiteral cmpLiteral)
-
compareBooleans
public boolean compareBooleans(PdfBoolean outBoolean, PdfBoolean cmpBoolean)
-
compareXmp
public String compareXmp(byte[] xmp1, byte[] xmp2)
-
compareXmp
public String compareXmp(byte[] xmp1, byte[] xmp2, boolean ignoreDateAndProducerProperties)
-
compareXmp
public String compareXmp(String outPdf, String cmpPdf, boolean ignoreDateAndProducerProperties)
-
compareXmls
public boolean compareXmls(byte[] xml1, byte[] xml2) throws ParserConfigurationException, SAXException, IOException
-
compareDocumentInfo
public String compareDocumentInfo(String outPdf, String cmpPdf) throws IOException
- Throws:
IOException
-
compareLinks
public String compareLinks(String outPdf, String cmpPdf) throws IOException
- Throws:
IOException
-
compareTagStructures
public String compareTagStructures(String outPdf, String cmpPdf) throws IOException, ParserConfigurationException, SAXException
-
compareXmls
public boolean compareXmls(String xml1, String xml2) throws ParserConfigurationException, SAXException, IOException
-
-