Controle item impresso sem retorno da impressora

Blz GUJs?

Estou desenvolvendo uma aplicação Desktop que imprime cartões (Cartão de Plástico) em uma impressora específica para isso.
Desenvolvi um jasper para “montar” o cartão a ser impresso. Seleciono programaticamente a impressora e envio o jasper para ela.

Não tenho o nº exato de cartões que vou imprimir, pode ser um ou podem ser 100.

Para ter algum controle, itero pela lista de cartões e envio um por um para a impressora.

Após os cartões serem impressos, preciso atualizar minha base e setar o campo flag_cartao para impresso.

A primeira sugestão que tive, foi a cada iteração, gravar em um arquivo o cartão q foi impresso, ao final do processo, recuperar o arquivo e atualizar o BD.
Mas não é garantido que o usuário vai ter acesso pra gravação em disco, então essa possibilidade foi descartada.

Alguém tem alguma sugestão do que eu posso fazer para resolver esse problema?