Eu estava procurando uma solução para o mesmo problema (imprimindo somente páginas em PDF com anotações) e estou compartilhando o script aqui para que outras pessoas possam se beneficiar.
Salve o seguinte como printAnnotatedPages.js e coloque-o na subpasta Javascript da instalação do Adobe Acrobat:
// Print only pages with annotations in them
function printAnnotatedPages() {
// Sync document annotations
this.syncAnnotScan();
// Check if printRange is available (Acrobat 11 or newer)
var pagesRange = null;
if (typeof app.formsVersion != "undefined" && app.formsVersion >= 11.0)
{
// Enable printRange
pagesRange = [];
}
// Scan pages for annotations
var startPage = -1;
var new_set = false;
for (var page = 0; page < this.numPages; page++)
{
// Check whether the current page has annotations
var hasComments = this.getAnnots({nPage: page});
if (hasComments != null) {
// This page has annotations
// Check whether this is a new set
if (!new_set) {
// Start new set of pages
startPage = page;
new_set = true
}
} else {
// This page hasn't annotations
// Print the set of pages (if any)
if (new_set) {
new_set = false;
if (pagesRange != null) {
// Add set of pages to print list
pagesRange.push([startPage, (page-1)]);
} else {
// Print this set (displays Print UI)
this.print({nStart: startPage, nEnd: (page-1)});
}
}
}
};
// Final check
if (pagesRange != null) {
// Print the last set of pages (if any)
if (new_set) {
// Add the last set of pages to print list
new_set = false;
pagesRange.push([startPage, (page-1)]);
}
// Print using the range function
if (pagesRange.length > 0) {
var pp = this.getPrintParams();
pp.interactive = pp.constants.interactionLevel.full;
pp.printRange=pagesRange;
this.print(pp);
} else {
// No pages with annotations
app.alert({nIcon: 1, cTitle: "Print annotated pages",
cMsg: "There are no annotated pages in this document."});
}
} else {
// Print the last set (displays Print UI)
if (new_set) {
new_set = false;
this.print({nStart: startPage, nEnd: (page-1)});
}
}
}
// Add menu item to the File menu
app.addMenuItem({ cName:"PrintAnnotatedPages", cUser:"Print pages with annotations...", cParent:"File",
cExec:"printAnnotatedPages();", cEnable: "event.rc = (event.target != null);", nPos: 16 });
Isso adiciona um novo menu Imprimir páginas com anotações ... em Arquivo no Acrobat quando houver um documento aberto; Eu testei e funciona com v9 e DC com sucesso. Com versões anteriores a 11 - devido à API ausente - você deve confirmar a caixa de diálogo de impressão antes de cada grupo de páginas.