A incorporação personalizada de tipos de letra não funciona na Coldfusion do CFDOCUMENT 11

Tenho uma fonte personalizada de Gotham que preciso de inserir num documento PDF. Pesquisei e tentei várias maneiras de fazer isto, mas não funciona. Estou a tentar que isto funcione no localhost com o CF11 e o servidor Apache 2.2.

Este é o código que tenho.
<!--- The HTML Page code --->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Test</title>
    <meta http-equiv=Content-Type content="text/html; charset=windows-1252" />
    <meta name=Generator content="Microsoft Word 12 (filtered)" />
    <style type="text/css">
        @font-face
        {
            font-family: 'gothamthin';
            src: url('../fonts/Gotham-Thin.otf');    
        }
    </style>
</head>
<body>
    <span style="font-size:22pt;font-family:'gothamthin'">13 First Street</span>
</body>
</html>

<!--- the PDF Generation Code --->
<cfdocument format="PDF" fontembed="yes" overwrite="true" filename="test.pdf">
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Test</title>
        <meta http-equiv=Content-Type content="text/html; charset=windows-1252" />
        <meta name=Generator content="Microsoft Word 12 (filtered)" />
        <style type="text/css">
            @font-face
            {
                font-family: "gothamthin";
                src: url('../fonts/Gotham-Thin.otf');    
            }
        </style>
    </head>
    <body>
        <span style='font-size:22pt;font-family:"gothamthin"'>13 First Street</span>
        <br/><br/>
        <span>
            <font face="gothamthin" size="22">
                13 First Street with font tag
            </font>
        </span>
    </body>
    </html>
</cfdocument>

a versão da página HTML produz o resultado correcto com o tipo de letra desejado. Por favor, veja a imagem abaixo:

enter image description here

a versão PDF no entanto não usa o costume fonte.

enter image description here

abri o PDF no leitor Adobe e verifiquei o painel Propriedades->tipos de letra e não contém o tipo de letra personalizado. Por favor, veja a imagem abaixo:

enter image description here

verifiquei a secção de gestão de tipos de letra do administrador CF e mostra que os tipos de letra estão correctamente instalados, mas num local diferente do que o 1 que referi no código. O que mencionei no código é <app-root>/fonts/*.otf. Veja por favor a imagem abaixo: enter image description here

também, no código acima, usei o nome da família da fonte comogothamthina . Se eu substituir isto por gotham-thin (com um hífen no meio que é o mesmo que o nome da fonte na administração CF), então eu recebo o erro abaixo. Não tenho a certeza se isto tem alguma coisa a ver com alguma coisa, mas esta é apenas uma observação que pensei partilhar.

detalhe: a causa desta excepção foi que: coldfusion.documento.melhoria.DocumentExportException: hipoteca.idioma.Excelente ideia. Mensagem: Ocorreu uma excepção quando a realizar o processamento de documentos.

Author: Saurabh Misra, 2017-08-07

1 answers

Estava a ter o mesmo problema com a mesma fonte. A receber a mensagem "NullPointerException". Acabou por corrigir, convertendo cada tipo de letra OTF para TTF, usando o FontForge. Encontrei alguns posts a dizer que não funciona com fontes OTF, mesmo que apareça correctamente na administração CF. Alterei as permissões de segurança dos tipos de letra TTF para corresponder aos outros tipos de letra do directório de tipos de letra, mas não tenho a certeza se isso era necessário - havia um utilizador chamado "Todos os pacotes de aplicações" que adicionei. Eu ponho as fontes TTF no diretório de fontes do Windows e, em seguida, foi capaz de usá-los no CFDOCUMENT PDF. Tive de usar o nome da coluna "Cara de letra" do administrador CF - A segunda coluna da sua imagem. Então, eu fui capaz de usar algo assim na área HTML do CFDOCUMENT
<div style="font-family: gotham black;">Quick brown fox</div>
<div style="font-family: gotham medium;">Quick brown fox</div>
<div style="font-family: gotham light;">Quick brown fox</div>
Não tenho trabalhado muito com ele, mas talvez queira experimentar o CFHTMLtoPDF, que, creio, funciona com o motor WKHTMLTOPDF. Esta marca foi introduzida no CF11
 0
Author: JMFC, 2018-10-06 18:44:10