Monday, 18 June 2018

Able2Extract (PDF editor/converter) Review

Able2Extract Professional 12 $149.95

PDF documents are everywhere these days. PDF documents provide a useful way of distributing files that retain all the formatting information from Microsoft Word, Excel or whatever other application you used to create the file. The problem with a PDF document is that once you’ve created it, it remains pretty much non-editable. Often that is what you want. But sometimes it can be a nuisance. For example, you may want to fix mistakes in a PDF document sent to your by a colleague. Or you may want to split a large PDF file into smaller individual documents. That’s where Able2Extract can help out.

Able2Extract can edit and convert large, complex documents including graphics and non-English (here Japanese) text
Able2Extract is a PDF editing and conversion tool. It lets you translate between PDF and multiple other common file formats. Conversion can be done in both directions – for example, you could convert from an Excel spreadsheet to PDF, edit it in Able2Extract, then save the resulting document to a Word file. Conversion can be done one document at a time or in batch mode on an entire directory of documents.

You can edit documents by adding and deleting text, adding graphics, redacting (blacking out passages) or adding annotation such as notes and strikethroughs. If you need create editable forms with interactive ‘fill-in’ fields you can do that too. There are limitations to the editing capabilities, however. If you expect to be able to edit text as you would in a word processor you will be disappointed. Editable text takes the form of pages, paragraphs, lines or parts of lines which can be edited within an area defined by a bounding box. Not only can the text inside the bounding box be edited but the entire box and its contents can be dragged and dropped to reposition it.

If you want to hide sensitive information from prying eyes you can ‘redact’ a document by replacing selected passages with black markers.
The actual areas defined by the bounding box are often unpredictable. In some documents, large blocks are editable, which is what you would expect. In other documents, seemingly arbitrary blocks are marked off as editable, and sometimes a single line of text is divided into several independently editable areas. Text edits ‘flow’ only within the confines of the bounding box, so you won’t get automatic word-wrap throughout an entire document as you would in a word processor.

This is the company’s official promo video

I’ve tested PDF import with a variety of different source documents and found that Able2Extract copes well even with documents containing Japanese text and mathematical formulae. Some characters, however, seem to vanish when a selection box is activated for editing. For example, in a mathematical expressions such as x(100) = 1 seem to vanish when the paragraph in which it appears is selected. I eventually discovered that this is because each part of the expression has its own selection box. So in the example above x has one box, (100) = 1 has another and the text of the paragraph in which it appears has yet another selection box. Obviously that makes the editing process rather tricky!

Here (above) I show the same part of a mathematical document with two different paragraphs selected. Note that some mathematical expressions (on the right) seem to ‘disappear’. This is due to the fact that they have their own selection boxes and so they do not appear within a selected paragraph.The conversion option is also a bit odd. You can’t just convert an entire document unless you first select all the text in that document. Selection before conversion makes sense if you want to convert only a selected block of text (and this is indeed an option) but it seems strange to insist that all the text be selected in advance of converting a whole document.
The Save As option is similarly restrictive. Sometimes I want to save a copy of a document before editing it, but the Save As option is only activated once editing changes have been made (otherwise it is greyed out).

There are, of course, numerous products available for viewing or editing PDF files (see Wikipedia for a list of some of them). If you just want to save from Word or Excel to PDF then the tools built into Microsoft Office are likely to be all you need. Some design and DTP applications also support PDF import (for example, the free LibreOffice suite imports editable PDF into its drawing application).

Adobe Acrobat, would once have been my first choice PDF editor. However, since Acrobat migrated to a subscription model costing around £13 a month for the basic version or £15 per month for the fully featured one, I am less enthusiastic. Personally, I hate subscription software. Even so, Acrobat is the ‘industry standard’ and if you don’t mind hiring it instead of buying it you can scan through the feature list here to see if it does everything you want:

If you prefer to buy a PDF editor outright, Able2Extract may appeal to you. Bear in mind though that you would need to verify that it provides the capabilities that you really need. To do that, I recommend downloading the trial edition before making a decision.

Wednesday, 13 June 2018

C Programming for Beginners: Increment, Decrement, Prefix and Postfix Operators

This is part 5 of my series on C programming for beginners. (See also part 4)

When you want to increment or decrement by 1 (add 1 to, or subtract 1 from) the value of a variable, you may use the ++ and -- operators. Here is an example of the increment (++) operator:

int a;
a = 10;
a++; // a is now 11

This is an example of the decrement (--) operator:

int a;
a = 10;
a--; // a is now 9


You may place these operators either before or after a variable like this: a++ or ++a. When placed before a variable, the value is incremented before any assignment is made:

num1 = 10;
num2 = ++num1; // num2 = 11, num1 = 11

When placed after a variable, the assignment of the existing value is done before the variable’s value is incremented:

num1 = 10;
num2 = num1++; // num2 = 10, num1 = 11

As a general rule, I would recommend that you stick to using ++ and -- as postfix operators. In fact, there is often nothing wrong with using the longer form a = a + 1 or a = a – 1. Mixing prefix and postfix operators in your code can be confusing and may lead to hard-to-find bugs. So, whenever possible, keep it simple and keep it clear.

NOTE: If you are new to C, you may want to start with lesson 1 in this series:
And if you want to learn C in more depth, why not sign up to my online video course – C Programming for beginners. See here: