Domanda

sto usando Microsoft.Reporting.WebForms.LocalReport per generare qualche PDF, tutto funziona come un fascino, ma ora il marketing male vuole usare un carattere personalizzato (che stanno utilizzando tali argomentazioni folli come "corporate identity" e roba del genere).

i già stralunate intorno e ora so che

  • ho bisogno di ReportViewer 2008 SP1 o superiore
  • il tipo di carattere deve essere contrassegnato come embedding permesso
  • il tipo di carattere TrueType deve essere

ma ancora non funziona. io credo che RDLC non supporta questa funzione, qualcuno sa se questo è il caso? purtroppo non posso utilizzare i rapporti lato server perché io sono privi di Reporting Server.

tia

È stato utile?

Soluzione

Incorporare opere di carattere con Microsoft Reporting 2010 o successivamente applicare ancora le seguenti limitazioni

  • carattere deve essere contrassegnato come embedding permesso
  • carattere deve essere di tipo TrueType

È possibile che si verifichi il problema che il vostro carattere è sempre incorporato, ma il vostro PDF visualizza ancora testo in Arial. Questo è accaduto a me dopo che ho installato alcuni nuovi font su un computer Windows Server 2008 R2, riavviare l'AppPool (ASP.NET MVC) non ha risolto questo problema, un riavvio del server è stato necessario.

Altri suggerimenti

Ho fatto un semplice test utilizzando Arial Narrow con Visual Studio 2008 e ha funzionato bene. Ho testato il PDF generato sulla macchina virtuale XP che non ha il carattere e resi ok. Forse è un problema con il tipo di carattere?

Hmm, forse è questo - nel mio test ho usato Winforms.LocalReport non WebForms. Forse questo è il trucco?

ho avuto lo stesso problema, ma ho scoperto che il tipo di carattere non ha bisogno di essere incorporato. Il problema era con l'attributo Tipo caratteri nel codice HTML. L'editor HTML che usavamo generato il tag font in questo modo:

<font face="Impact,Charcoal,sans-serif" size="6">Impact </font>

che andava bene per il visualizzatore di report, ma per produrre un file PDF, è necessario per assomigliare a questo:

<font face="Impact" size="6">Impact </font>

Così ho aggiunto il codice per sostituire i valori dell'attributo prima che fosse legato alla relazione:

htmlValue = htmlValue.Replace("Impact,Charcoal,sans-serif", "Impact")
               .Replace("Arial,Helvetica,sans-serif", "Arial")
               .Replace("Georgia,serif", "Georgia")
               .Replace("Verdana,Geneva,sans-serif", "Verdana")
               .Replace("'Courier New',Courier,monospace", "Courier New")
               .Replace("'Lucida Console',Monaco,monospace", "Lucida Console")
               .Replace("Tahoma,Geneva,sans-serif", "Tahoma")
               .Replace("'Times New Roman',Times,serif", "Times New Roman")
               .Replace("'Trebuchet MS',Helvetica,sans-serif", "Trebuchet MS");
  • carattere deve essere contrassegnato come embedding permesso
  • carattere deve essere di tipo TrueType
  • Aggiungi il tuo carattere per i font di Windows Server

Se fate tutto quanto sopra e di carattere non mostra nel file di report RDLC Pdf,

Forse è necessario riavviare il server, funziona per me

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top