Já postei aqui rotina pra gerar PDF pelo Clipper, sem LIB adicional, mas sem gráficos.
Cheguei a fazer impressão direto em Laser com código de barras no Clipper, mas nem sei se vale a pena isso.
Tem uma coisa que poderia fazer:
HARBOUR !!!!
Pode gerar algum arquivo intermediário, e executar um programa em Harbour.
Tudo depende de até onde quer chegar.
Se não dá pra converter o programa inteiro, tudo bem, pode fazer pequenos utilitários em Harbour, ou até um tudo-em-um.
FUNCTION Main( a, b, c, d, e )
DO CASE
CASE a == nil; EXIT
CASE a == "/preview"; Preview( b )
CASE a == "/email"; Email( b, c, d, e )
CASE a == "/print"; Print( b )
CASE a == "/pdf"; Pdf( b )
ENDCASE
RETURN NIL
Quem sabe não acaba convertendo o aplicativo inteiro... rs