I use VS2008 to test Khmer Unicode rendering in Crystal Report.

I. Prepare Crystal Report Render well in report design
First you have to make the crystal report in design time possible to write or view Khmer Unicode

1.1. Copy usp10.dll (version1.465.4001.0) to C:\Program Files\Business Objects\Common\2.8\bin


1.2. Change fonts setting
in Crystal Report, at VS2008, create a crystal report and go to Crystal Reports –> Design –> Default Setting –> Go to Fonts Tab, change all element to Kh System

II. View Crystal Report with VS Crystal Report Viewer,
Khmer Unicode is not rendering well.
(Under research)

III. View Crystal Report with Crystal Report View
It’s working very well for me to view Crystal Report with Khmer Unicode characters on form.
Here is the process…

3.1. On design time, add COM control of Crystal Report ActiveX Report Viewer Control of Business Objects; from my pc, it’s a dll at: C:\Program Files\Business Objects\Common\2.8\bin\ crviewer.dll


3.2. Add Reference in the project of craxddrt.dll


3.3. Create Crystal Report
and write some code in Khmer Unicode and save it to some where, my example in folder bin/Debug

3.4. Coding to call the report to view in the control:

CRAXDDRT.Application crxApp = new CRAXDDRT.Application();
CRAXDDRT.Report crxReport = new CRAXDDRT.Report();
crxReport = crxApp.OpenReport(Application.StartupPath
    + "/KhmerUnicodeTest.rpt", null);
this.axCrystalActiveXReportViewer1.ReportSource=crxReport;
this.axCrystalActiveXReportViewer1.ViewReport();

3.5. Here is the result display

DOWNLOAD: Sample Project: TestCrystalReportViewer

(DLL of USP10.dll attached in the sample folder: Resource)

IV. View Crystal Report by export directly to PDF
It works very well, just have issue with font size.
We just call Crystal Report Object and then export it to disk, here is the coding:

private void btnPrintCrystal_Click(object sender, EventArgs e){
      CrystalKhmerUnicode rptCrystal = new CrystalKhmerUnicode();
      rptCrystal.SetParameterValue("txtReportTitle","Hello World");
      rptCrystal.SetParameterValue("txtTitle", txtTitle.Text);
      rptCrystal.SetParameterValue("txtArticle", txtArticle.Text);
      rptCrystal.ExportToDisk(ExportFormatType.PortableDocFormat, "./KhmerUnicode.pdf");
      MessageBox.Show("Now report exported to current folder: KhmerUnicode.pdf");
      // Direct open pdf
      reportSystem.Diagnostics.Process.Start("./KhmerUnicode.pdf");
}

Enjoy,
Happy New Year 2009!
Metrey,

  • ing

    hi thanks your post that give knowledge. but but problem when create this project as package that it have error

  • Metrey

    Hi Ing,What errors you have? Can you describe it so that I can try to help? It can be different VS version usage etc.

  • Prasart

    Well done Metrey!It works perfectly.Thanks a lot for sharing.

  • Savada Sin

    It run properly, Thanks for your posting but could you tell me how to set parameter value to report and bound it from dataset.thanks in advanceSavada Sin ([email protected])

  • mala

    Hi thank for your pasting this problem ,put when I package it and running it on another machinethate alert the message box System.Runtime.InteropServices.COMException (0x80040154) how can I solve this problem thank in advancemala([email protected])

  • khourn

    Hey! I successfully use what u told. But then I have another problem. When the report is loaded, it appears to ask for refresh/change the sever name! (we use in different computer).Thanks for help.

  • sokheng

    Hi! Thank for your posting. but i still got problem with when i change crystal report location at run time. may u give some advise ? ([email protected])

  • Prasart

    How about in Microsoft Report (the one in VS)?At runtime it won't render Khmer Unicode correctly.Any one know how to fix this?

  • Metrey

    @Prasart: Microsoft Report not yet support unicode; hope we can find a solution

  • Taingren

    usp10.dll (version1.465.4001.0) how do i get this version.

  • osify

    You can find the dll in my attach sample above (Sample Project: TestCrystalReportViewer)

  • Ke Lyhov

    how can i use crystal reports with vb 2010 and support khmer unicode, can you build simple project with VB.Net 2010!

    Thanks first!

  • osify

    @Ke Lyhov, Yes there are many people asks to help on VS2010 but currently I have no enough time yet. I think you should try on VS 2012 since it should be more better with that.

    According to some of my friends, they said they can’t get VS2010 works as well but I haven’t tried it yet and now I’m on VS2012 installed already.

  • Chea Chanmakara

    Everybody said , right.
    It took me a week for Khmer Unicode. That is really bad for this language.
    I agree with poster. the instruction above is really work well with Khmer Unicode.
    just add craxddrt.dll and crviewer.dll only.

    but the problem is after i build my project ready. and give it the customer. It is well with installation but they can’t open it to use. I build this project with Microsoft Visual Studio 2008. so this project will work on the customer ‘s pc unless i install Microsoft Visual Studio 2008 on there pc. That is a really big problem with Crystal report. after that I test on Visual Studio 2010. It is the same.
    I hope you guy find out this problem soon with Khmer Unicode + Crystal report.
    Thx

    Never wanted Khmer Unicode Project again.

  • bunthan prak

    Hi! Thank for your posting. It works when I run via visual studio, but
    still get problem when I run the .exe from bin folder(it displays
    nothing). may u give some advise ?
    ([email protected])