Some test text!

Loading...
Guides
Overlay comparison

Compare files with overlay

PDFTron SDK allows you to compare files visually using overlays.

File comparison in Xamarin

This tutorial only applies to Xamarin.Android. See Xamarin.iOS equivalent here .

You can visually compare pages. This resolution independent comparison allows you to quickly spot differences between pages.

There are two main ways to integrate the out-of-box UI components in your application:

  1. Standalone activity
  2. Comparison options dialog

Standalone activity

The DiffActivity is a standalone component that handles from picking two files to generating the comparison result.

diff-activity
  1. Define the activity
android.permission.WRITE_EXTERNAL_STORAGE permission is required.
<activity
    android:name="com.pdftron.pdf.controls.DiffActivity"
    android:configChanges="keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize"
    android:theme="@style/PDFTronAppTheme"
    android:windowSoftInputMode="adjustPan" />
  1. Show the activity
DiffActivity.Open(this);

Comparison options dialog

If you have your own viewer already and only want to show the comparison options in your application, the DiffOptionsDialogFragment can be used.

diff-frag
public void Show(Context context, FragmentManager fragmentManager, List<Android.Net.Uri> files)
{
    var fragment = pdftron.PDF.Dialog.Diffing.DiffOptionsDialogFragment.NewInstance(
        files[0], files[1]
    );
    fragment.SetStyle((int)DialogFragmentStyle.Normal, Resource.Style.PDFTronAppTheme);
    fragment.DiffOptionsConfirmed += (sender, e) =>
    {
        CompareFiles(context, files, e.Color1, e.Color2, e.BlendMode);
    };
    fragment.Show(fragmentManager, "diff_options_dialog");
}

where compareFile is:

private void CompareFiles(Context context, List<Android.Net.Uri> files, int color1, int color2, int blendMode)
{
    Android.Net.Uri uri = pdftron.PDF.Dialog.Diffing.DiffUtils.CompareFilesImpl(context, files, color1, color2, blendMode);
    // do something with the output
}
AsyncTask pattern can be used instead of Disposable pattern if desired.

Get the answers you need: Support

Upcoming Webinar: Customer Experience and Retaining Control: Boosting Document Automation and Efficiency in Financial Services | Sept 15, 2022 at 11 am PT

PDFTron SDK

The Platform

NEW

© 2022 PDFTron Systems Inc. All rights reserved.

Privacy

Terms of Use