Язык гуджарати при создании PDF не поддерживается на размещенном сервере AWS ASP.NET

#c# #asp.net #ms-word #spire.doc

#c# #asp.net #ms-word #spire.doc

Вопрос:

В моем коде я нахожу и заменяю некоторые конкретные слова в файле Word, используя Spire.Doc и экспортируя в PDF-файл, используя Microsoft.Office.Interop.Word пакеты, которые отлично работают для меня на локальном сервере, но не работают на размещенном сервере AWS в ASP.Net

[Работа на локальном]

введите описание изображения здесь

[Изображение сервера имеет грамматическую проблему]

введите описание изображения здесь

 //doc creation
Spire.Doc.Document doc = new Spire.Doc.Document(Server.MapPath("~/Download/demo.docx"));
doc.Replace("todayDate", DateTime.Now.Date.ToString("dd-MM-yyyy"), true, true);
doc.Replace("App_Name", AppName, true, true);
doc.Replace("App_Date", App_Date, true, true);
doc.Replace("Sales_Name", SalesName, true, true);
doc.Replace("App_Address", App_Address, true, true);
doc.Replace("Sales_Address", Sales_Address, true, true);
doc.Replace("csNO", csNO, true, true);
doc.Replace("tnmntNO", TenamentNO, true, true);

doc.SaveToFile(string.Concat(Server.MapPath("~/hukam/"), App_id, ".docx"), FileFormat.Auto);

doc.Close();

//pdf genration
using Microsoft.Office.Interop.Word;
using Word = Microsoft.Office.Interop.Word;
 Word._Application oword = new Word.Application();
oword.Visible = false;
object oMissing = System.Reflection.Missing.Value;
object isVisible = true;
object readOnly = false;
object oInput = string.Concat(Server.MapPath("~/hukam/"), App_id, ".docx");
string oOutput = string.Concat(Server.MapPath("~/hukam/"), App_id, ".pdf");

Word._Document oDoc = oword.Documents.Open(oInput,oMissing,readOnly,oMissing);
oDoc.Activate();
oDoc.EmbedTrueTypeFonts = true;
if (oDoc.Paragraphs.Count > 0)
{
    foreach (Paragraph p in oDoc.Paragraphs)
    {
        p.Range.Font.Name = "Shruti";
    }
}

if (oDoc.Footnotes.Count > 0)
{
    foreach (Footnote fn in oDoc.Footnotes)
    {
        fn.Range.Font.Name = "Shruti";
    }
}

oDoc.ExportAsFixedFormat(oOutput, WdExportFormat.wdExportFormatPDF);
oDoc.Close();
oword.Quit();
  

Ответ №1:


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

             Spire.Doc.Document doc = new Spire.Doc.Document(Server.MapPath("~/Download/demo.docx"));
            doc.Replace("todayDate", DateTime.Now.Date.ToString("dd-MM-yyyy"), true, true);
            doc.Replace("App_Name", AppName, true, true);
            doc.Replace("App_Date", App_Date, true, true);
            doc.Replace("Sales_Name", SalesName, true, true);
            doc.Replace("App_Address", App_Address, true, true);
            doc.Replace("Sales_Address", Sales_Address, true, true);
            doc.Replace("csNO", csNO, true, true);
            doc.Replace("tnmntNO", TenamentNO, true, true);
            doc.Replace("txtNondh", txtNon, true, true);

            doc.SaveToFile(string.Concat(Server.MapPath("~/hukam/"), App_ID, ".docx"), FileFormat.Auto);

            doc.Close();

            //creating PDF
            RichEditDocumentServer wordProcessor = new RichEditDocumentServer();
            wordProcessor.LoadDocument(string.Concat(Server.MapPath("~/hukam/"), App_ID, ".docx"), DocumentFormat.OpenXml);

            //Specify export options:
            PdfExportOptions options = new PdfExportOptions();
            options.DocumentOptions.Author = "ArpitPatel";
            options.Compressed = false;
            options.ImageQuality = PdfJpegImageQuality.Highest;

            //Export the document to the stream:
            using (FileStream pdfFileStream = new FileStream(string.Concat(Server.MapPath("hukam/"), App_ID, ".pdf"), FileMode.Create))
            {
                wordProcessor.ExportToPdf(pdfFileStream, options);
            }
  

Спасибо и с уважением