Member 12427895 Ответов: 1

Манипуляция строками и выходной файл PDF


Прежде всего, спасибо за то, что пытались мне помочь. Это должно быть просто (я думаю, что мне только чего-то не хватает)
У меня есть htm-файл, который используется для создания pdf-файла и получает дату из выбора экрана
Речь идет о манипулировании строками (извлечение из строки подстроки, начинающейся с “ [ “ , и отображение результата )
Пример вместо Van5[15] он должен отображать Van

(Примечание: данные для [RoomName], [ClassName] - это переменные, полученные с предыдущего экрана)
Код верен и проверен на jsfiddle.net . Проблема в том, что этот HTM-файл, используемый для создания выходного файла PDF, отображает поверх содержимого между тегами скрипта;
функция извлечения()
{
var str = " Van5 [14]";
вернуться стр.подстрока(стр 0,.lastIndexOf("["));
}
document.getElementById ("demo"). innerHTML = extract();
Мой вопрос заключается в том, как отобразить результат (Van5) этой функции в PDF-файле, а не содержимое между тегами

Что я уже пробовал:

<html>
<body>
<table>
        <tr>        
            <td colspan="2" style="text-align:center; font-size:80; font-family:Verdana; font-weight:bold;border:1px solid Black;">
                &nbsp;</td>
        </tr>
        <tr>
            <td colspan="2" style="text-align:center; font-size:60; font-family:Verdana; font-weight:bold;border:1px solid Black;">
                [RoomName]            

<p id="demo"></p> 
</td>
        </tr>
 <tr>
            <td colspan="2" style="text-align:center; font-size:29;font-family:Verdana;font-weight:bold;border:1px solid Black;">
                [ClassName]
            </td>
        </tr>
        
      
       
    </table>	

<script>
function extract() {
 var str = "Van5 [14]";
 return str.substring(0, str.lastIndexOf("["));    

}	
document.getElementById("demo").innerHTML = extract();
</script>
</body>
</html>

Member 12427895

Может быть, полезно упомянуть, что он использует iTextSharp, библиотеку .NET PDF для создания PDF-файла (из этого HTMl-файла)

нет необходимости в <.![CDATA[
а функция extract() должна быть
функция извлечения() {
var str=[RoomName]; return str. substring(0, str. lastIndexOf("["));

1 Ответов

Рейтинг:
2

Member 12427895

I solve this task by myself. I just added the code between comments(//Remove square brackets..//) to the .cs file. For anyone that might need help with this topic, I am adding the code snippet here:

if (ReportList.Count > 0)
            {
                PdfWriter writer = PdfWriter.GetInstance(Report, new FileStream(FullPath, FileMode.Create));
                Report.Open();
                try
                {
                    if (ListRoomSign.Count > 0)
                        {                            
                             foreach (var ObjReportList in ReportList)
                            {
                                foreach (var ObjRoomSignList in ListRoomSign)
                                {.....
                                        string contents = System.IO.File.ReadAllText(HTMLFilePath);

                                        //Remove square brackets value from room name when printing room signs 
                                        if (ObjReportList.Location.Contains("["))
                                        {
                                            ObjReportList.Location = ObjReportList.Location.ToString().Substring(0, ObjReportList.Location.ToString().LastIndexOf("["));
                                        }
                                        //
                                        contents = contents.Replace("[RoomName]", ObjReportList.Location);
                                        var parsedHtmlElements = HTMLWorker.ParseToList(new StringReader(contents), null);
                                        foreach (var htmlElement in parsedHtmlElements)
                                        {
                                            Report.Add(htmlElement as IElement);
                                        }
                                        Report.NewPage();                                        
                                }
							}	
                        }
						
                    Report.Close();
                }
                catch (Exception)
                {

                FullPath = string.Empty;
                }
            }
return FullPath;