jopima Ответов: 2

Crystal Report отображает странные символы при экспорте в pdf


Я использую Visual Studio 2005 С c# и windows forms. Мне удалось экспортировать crystal reports в pdf в коде. Но в экспортированном pdf-отчете добавлены символы. Например, он будет отображать "Математика" как "Математики" или
"История" как "История" или "Предмет" как "Subjecti"
Он в основном добавляет t к каждому слову, которое имеет t в нижнем регистре. или присоединяет меня к нему.

Я погуглил любое возможное решение, применил исправление crystal report 2005. Но проблема продолжается.

Я застрял. Пример кода для экспорта вставлен ниже

private void btnPrint_Click(object sender, EventArgs e)
{
  string _FileName = DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + ".pdf";

  try
  {
    ReportDocument cryRpt = new ReportDocument();
    cryRpt = (ReportDocument)crystalReportViewer1.ReportSource;
    ExportOptions exportOpts = new ExportOptions();
    exportOpts.ExportFormatType = ExportFormatType.PortableDocFormat;
    exportOpts.ExportDestinationType = ExportDestinationType.DiskFile;

    ExportOptions CrExportOptions;
    DiskFileDestinationOptions CrDiskFileDestinationOptions = new DiskFileDestinationOptions();
    PdfRtfWordFormatOptions CrFormatTypeOptions = new PdfRtfWordFormatOptions();
                
    CrDiskFileDestinationOptions.DiskFileName = ConfigurationManager.AppSettings.Get("PRINT_TEMP") + _FileName;
    CrExportOptions = cryRpt.ExportOptions;
    {
      CrExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
      CrExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
      CrExportOptions.DestinationOptions = CrDiskFileDestinationOptions;
      CrExportOptions.FormatOptions = CrFormatTypeOptions;
    }
    cryRpt.Export();
    System.Diagnostics.Process.Start(ConfigurationManager.AppSettings.Get("PRINT_TEMP") + _FileName);
  }
  catch(Exception Ex)
  {
    string msg = Ex.Message;
    MessageBox.Show("You Must Have a report viewable in the Report panel To print");
  }
}

2 Ответов

Рейтинг:
13

thatraja

Я предполагаю, что вы использовали необычные шрифты для текстовых полей, формул и т. д. объектов в crystal reports. Поэтому просто проверьте шрифты в своих отчетах. Когда-то у меня была такая же проблема, и я проверил шрифты для объектов, и это был Калибр или что-то в этом роде, я думаю. Поэтому вам нужно установить шрифт на производственном сервере или изменить шрифты для ваших объектов в crystal reports с помощью обычных шрифтов, таких как Arial, Tahoma, Verdana.


jopima

Спасибо за ваш ответ, на самом деле вы правы. я использую шрифт calibri. Такое поведение произошло на моей машине разработки еще до того, как я запустил систему в производство. когда я тестировал его в производстве, я был удивлен, что отчеты выходят без добавления странных символов. это была моя самая большая паническая точка. позвольте мне проследить эту линию мысли и посмотреть, как далеко я зайду, чтобы исправить ее навсегда. я не собираюсь отказываться от использования шрифта calibri.

IndifferentDisdain

Я заметил те же проблемы; я думаю, что в моем случае это было связано с наличием CR2008 на моей машине разработки и просто временем выполнения на моем тестовом сервере, так что, возможно, установка CR2008 решит эту проблему? Не уверен, немного сбивает с толку. У меня была возможность менять шрифты, так что я просто пошел с этим:)

H.Brydon

+5 от меня, чтобы компенсировать необоснованное понижение голоса.

IndifferentDisdain

Очень ценю!

Рейтинг:
1

IndifferentDisdain

У меня была та же проблема в CR2008 с шрифтом Calibri; похоже, проблема связана именно с этим шрифтом и экспортом в PDF. Я все еще исследую, есть ли жизнеспособный обходной путь; если да, то я обновлю его соответствующим образом.

http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_bi/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes%7B6163636573733d36393736354636443646363436353344333933393338323636393736354637333631373036453646373436353733354636453735364436323635373233443330333033303331333533343337333933363331%7D.do[^]


IndifferentDisdain

Мне любопытно, почему это было отвергнуто; кто-нибудь хочет поделиться? Я буквально прошел через это на работе около недели назад.

H.Brydon

Да, это не имеет смысла. +5 от меня, чтобы компенсировать...

IndifferentDisdain

Прокомментировал ваш неправильный комментарий, так что еще раз спасибо!