Parece que não há uma boa maneira de fazer isso
Eu quero ser capaz de criar um PDF ou uma imagem de um banco de dados MySQL. Deve ter uma caixa por tabela e cada caixa deve listar todas as colunas na tabela. Não preciso de linhas entre várias chaves do forgein ou mostrar informações sobre tipos padrão ou até mesmo o tipo da coluna.
Existe um programa de código aberto para fazer isso?
Você pode tentar o MySQL Workbench para criar um diagrama importando as instruções sql create do seu banco de dados.
Não é de código aberto e não é gratuito (a licença é de 99 USD):
dbdesc is a powerful tool to help you document your databases. It can produce detailed documents describing your databases.
[...]
Now dbdesc includes a built-in report engine and report viewer to easily browse database documentation. This report can be exported to PDF.
Aqui está uma tabela contendo todos os recursos para as diferentes plataformas de banco de dados .
Você não diz quantos detalhes deseja, mas já considerou usar o MySQL "show tables;" comando? Você pode usá-lo para criar um gráfico dos campos, mas ele não informa nada além do nome do campo.