How to compare PDF documents (for free)

Yesterday I found myself trying to compare multipage PDF documents with code samples. You can imagine how painful and frustrating it was, so I went googling to check what can help me in this task. It appears that there are free alternatives to obvious, but really expensive solution of purchasing Adobe Acrobat license.

My favorite solution for now is WinMerge (yes, it can compare files), accompanied with the xdocdiff plugin that enhances WinMerge with the understanding of the “inner works” of several popular document types.

Here is the installation and configuration procedure:

  1. Download and install WinMerge according to the instructions. Start WinMerge to make sure it is installed correctly.
  2. Download xdocdiff plugin and extract it to some local folder.
  3. Move extracted files according to the instructions in the xdocdiff README file. Ignore the line that says to enable “Automatic Unpacking” – it is still disabled.
  4. Go to “Plugins” → “List…” and select “Enable plugins” checkbox, then click “OK”.
  5. Now you can choose “Plugins” → “Automatic Unpacking” (it is already enabled).

For those who are not familiar with WinMerge – go to “File” → “Open…” and select to files to compare.

Hat tip to this SuperUser answer, that helped me to figure out the correct installation procedure.

Basics of pdadmin: How to work with object policies

Working with protected object policies (or, in short, POPs) is pretty similar to working with ACLs. In this example we will create a POP that requires the end user to authenticate himself with protection level 1 on access to a junction.

First, we’ll create a new POP and display it’s content:

pdadmin sec_master> pop create level1 
pdadmin sec_master> pop show level1
    Protected object policy:  level1
    Description:
    Warning:  No
    Audit level:  none
    Quality of protection:  none
    Time of day access:  sun, mon, tue, wed, thu, fri, sat, :anytime:local
    IP Endpoint Authentication Method Policy
        Auth Level: 0          Network: Any Other Network

pdadmin sec_master> 

Continue reading “Basics of pdadmin: How to work with object policies”

Basics of pdadmin: How to manage WebSEAL junctions

Managing WebSEAL junctions with ‘pdadmin’ command tool is not an easy task. This post will provide a short reference to the most common operations.

First, you need to know the name of the WebSEAL instance you want to manage. Note that it differs from the object path!

pdadmin sec_master> server list
    default-webseald-isam-70.lab.mycompany.com
    ivmgrd-master
pdadmin sec_master>

Continue reading “Basics of pdadmin: How to manage WebSEAL junctions”

Basics of pdadmin: How to attach ACL to an object

Let’s continue our example about unauthenticated junctions in WebSEAL and attach our passthrough ACL to some resource – for example, the famous “favicon.ico” file.

Prerequisites:
* An authenticated ‘pdadmin’ session
* The name of the passthrough ACL (assuming “webseal-passthrough” here)
* The full object name of “favicon.ico” file

So, here it goes:

pdadmin sec_master> acl attach /WebSEAL/isam-70.lab.mycompany.com-default/favicon.ico webseal-passthrough
pdadmin sec_master> acl find webseal-passthrough
/WebSEAL/isam-70.lab.mycompany.com-default/favicon.ico
pdadmin sec_master>

Simple, ah?