Membandingkan dokumen PDF dalam Java
Contents
[
Hide
]
Aspose.PDF for Java menyediakan API perbandingan berdampingan dan grafis untuk mendeteksi perbedaan antara file PDF.
Membandingkan halaman dan mengekspor gambar perbedaan
Gunakan contoh ini ketika Anda memerlukan output perbedaan berbasis gambar untuk pasangan halaman PDF tertentu.
- Buka kedua PDF sumber objek
Document. - Gunakan
GraphicalPdfCompareruntuk mendapatkan tingkat halamanImagesDifference. - Gunakan ‘GraphicalPdfComparer’ untuk mendapatkan tingkat halaman ‘ImagesDifference’.
- Ekspor gambar perbedaan yang dihasilkan dan buang hasil perbandingan.
public static void comparePdfWithGetDifferenceMethod(
Path inputFile1, Path inputFile2, Path diffOutputFile, Path destinationOutputFile) throws Exception {
try (Document document1 = new Document(inputFile1.toString());
Document document2 = new Document(inputFile2.toString())) {
GraphicalPdfComparer comparer = new GraphicalPdfComparer();
ImagesDifference imagesDifference = comparer.getDifference(document1.getPages().get_Item(1),
document2.getPages().get_Item(1));
ImageIO.write(imagesDifference.differenceToImage(Color.getRed(), Color.getWhite()),
"png", diffOutputFile.toFile());
ImageIO.write(imagesDifference.getDestinationImage(), "png", destinationOutputFile.toFile());
imagesDifference.dispose();
}
System.out.println("Difference images saved to " + diffOutputFile + " and " + destinationOutputFile);
}
Membandingkan halaman tertentu berdampingan
Gunakan contoh ini ketika hanya halaman yang dipilih yang harus dibandingkan dan disimpan sebagai hasil PDF berdampingan.
- Buka kedua PDF sumber objek
Document. - Konfigurasikan
SideBySideComparisonOptionsuntuk mode perbandingan yang diperlukan. - Bandingkan halaman yang dipilih dan simpan PDF output.
public static void comparingSpecificPages(Path inputFile1, Path inputFile2, Path outputFile) {
try (Document document1 = new Document(inputFile1.toString());
Document document2 = new Document(inputFile2.toString())) {
SideBySideComparisonOptions options = new SideBySideComparisonOptions();
options.setAdditionalChangeMarks(true);
options.setComparisonMode(ComparisonMode.IgnoreSpaces);
SideBySidePdfComparer.compare(document1.getPages().get_Item(1), document2.getPages().get_Item(1),
outputFile.toString(), options);
}
System.out.println("Specific pages comparison saved to " + outputFile);
}
Membandingkan dokumen PDF lengkap secara grafis
Contoh ini menghasilkan laporan PDF grafis yang menyoroti perbedaan visual di seluruh dokumen.
- Buka kedua PDF sumber objek
Document. - Konfigurasikan
GraphicalPdfComparerambang batas, warna, dan resolusi. - Bandingkan seluruh dokumen dan simpan PDF output grafis.
public static void comparePdfWithCompareDocumentsToPdfMethod(Path inputFile1, Path inputFile2, Path outputFile) {
try (Document document1 = new Document(inputFile1.toString());
Document document2 = new Document(inputFile2.toString())) {
GraphicalPdfComparer pdfComparer = new GraphicalPdfComparer();
pdfComparer.setThreshold(3.0);
pdfComparer.setColor(Color.getBlue());
pdfComparer.setResolution(new Resolution(300));
pdfComparer.compareDocumentsToPdf(document1, document2, outputFile.toString());
}
System.out.println("Graphical comparison saved to " + outputFile);
}
Membandingkan seluruh dokumen berdampingan
Gunakan contoh ini ketika seluruh dokumen harus dibandingkan halaman per halaman dalam output PDF berdampingan.
- Buka kedua PDF sumber objek
Document. - Konfigurasikan
SideBySideComparisonOptionsuntuk perilaku perbandingan yang diinginkan. - Bandingkan seluruh dokumen dan simpan hasilnya sebagai PDF.
public static void comparingEntireDocuments(Path inputFile1, Path inputFile2, Path outputFile) {
try (Document document1 = new Document(inputFile1.toString());
Document document2 = new Document(inputFile2.toString())) {
SideBySideComparisonOptions options = new SideBySideComparisonOptions();
options.setAdditionalChangeMarks(true);
options.setComparisonMode(ComparisonMode.IgnoreSpaces);
SideBySidePdfComparer.compare(document1, document2, outputFile.toString(), options);
}
System.out.println("Entire document comparison saved to " + outputFile);
}