Nano Hash - криптовалюты, майнинг, программирование

Проблемы с ITextSharp — преобразование XML в PDF

Хорошо... Я пытаюсь использовать самую последнюю версию ITextSharp, чтобы преобразовать файл XML в PDF. Это не работает.

Документация на SourceForge, похоже, не поспевает за фактическими выпусками; код в приведенном примере даже не будет компилироваться в самой новой версии.

Вот мой тестовый XML:

<Remittance>
<RemitHeader>
<Payer>BlueCross</Payer>
<Provider>Maricopa</Provider>
<CheckDate>20100329</CheckDate>
<CheckNumber>123456789</CheckNumber>
</RemitHeader>
<RemitDetail>
<NPI>NPI_GOES_HERE</NPI>
<Patient>Patient Name</Patient>
<PCN>0034567</PCN>
<DateOfService>20100315</DateOfService>
<TotalCharge>125.57</TotalCharge>
<TotalPaid>55.75</TotalPaid>
<PatientShare>35</PatientShare>
</RemitDetail>
</Remittance>

И вот код, который я пытаюсь использовать, чтобы превратить его в PDF.

Document doc = new Document(PageSize.LETTER, 36, 36, 36, 36);
  iTextSharp.text.pdf.PdfWriter.GetInstance(doc, 
    new StreamWriter(fileOutputPath).BaseStream);
  doc.Open();
  SimpleXMLParser.Parse((ISimpleXMLDocHandler)doc, 
    new StreamReader(fileInputPath).BaseStream);
  doc.Close();

Теперь я был почти уверен, что часть (ISimpleXMLDocHandler)doc не сработает, но на самом деле я не могу найти ничего в исходном коде, который одновременно а) реализует ISimleXMLDocHandler и б) будет принимать стандартный XML-документ и анализировать его в PDF.

К вашему сведению, я пробовал более старую версию, которая компилировалась с использованием примера кода из sourceforge, но она тоже не работала.


  • Я помню, как наткнулся на что-то, что указывало на то, что они разделили функции, отличные от PDF (HTML и RTF, конечно), в отдельную dll. Может быть, они также включили функции XML в эту отдельную dll? 06.05.2010
  • @John Fisher: я так не думаю (могу, конечно, ошибаться), но я ничего не нахожу ни в одном из других пространств имен; и доступна только одна .dll... 07.05.2010
  • Может быть, я неправильно запомнил, и это было просто изменение пространства имен. 07.05.2010

Ответы:


1

После просмотра кода 5.0.2 кажется, что нет документа, который просто возьмет XML и превратит его для вас в PDF. Поэтому, если вы не можете найти аналогичный код в Интернете или в старой версии iTextSharp, вам придется написать его самостоятельно.

06.05.2010
  • Похоже, ты прав. Думаю, я просто напишу это сам. 07.05.2010

  • 2

    iText XML to PDF требует, чтобы XML был отформатирован в соответствии с itext.dtd (пожалуйста, Google ответственно). Вы также можете использовать tagmap.xml для сопоставления ваших XML-сущностей с теми, которые соответствуют DTD.

    10.08.2010
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..