VBO custom action: get the list of selected items I need to create an vbo action to produce a document (pdf) with a page for every item selected in the list.

Using im using hook_action_info but the callback get called once for every item selected; I need to have a function that get called with the list of selected items.

I've seen the Pass ids as arguments to a page action, that can fit my needs, but hey I'll love to avoid having such kind of urls (if possible, of course)

Is possible?
You don't do it at once, you generate the document page by page (item by item).
The document gets created on first run, and on the last run you do whatever cleanup you need.

See archive.action.inc that ships with VBO for an example of this approach.

You can mark your action as "aggregate", and get all rows, but that's going to significantly limit the number of items you can add to the document (depending on your memory limit). VBO is designed to work item-by-item.