The problem here is that creating a transaction requires 2 things:
- The utxo (unspent transaction output) set of your addresses. This is basically a record of all bitcoins sent to the addresses in your
wallet.dat
file.
- The private keys to actually sign the transaction.
Generally, when you use an offline computer to store the private keys, you will be using an internet connected computer to do (1) and the offline computer to do (2).
Unfortunately, the bitcoin-qt client does not have the concept of watching-only wallets for (1) which would be required for you to create such a transaction. That said, there are some ways you can achieve this, but it's definitely not going to be easy.
Here are some options:
- Manually grab the utxo set for your addresses using a block explorer (like blockchain.info), then manually create a transaction spending those bitcoins to the paper wallet address, then sign the transaction on your offline computer and finally broadcast the transaction online.
- Download the blockchain on an online computer (about 50 gb), then transfer that over to your offline computer, then create the transaction you need on your offline computer and broadcast the transaction online.
- Dump the private keys of the addresses on your offline computer and create paper wallets of the private keys that have any bitcoins in them. (This can be achieved using something like bitcoinpaperwallet.com and entering your own private key)
1 is going to require some programming experience. 2 is going to take a while to download the blockchain and transfer it. 3 is probably your easiest option depending on the number of addresses you have. The nice thing about bitcoinpaperwallet.com is that you can download the source and use it on your offline computer.