iTextSharp - где PdfDocument, PdfCanvas,?

Я создаю PDF-документы с помощью iText (Sharp). Я разрабатываю приложение с помощью Visual Studio 2017. Я добавил iTestSharp с помощью NuGet и экспериментировал как с VB, так и с C #.

Все в порядке для «высокоуровневых» вещей (глава 1 учебного руководства по быстрому запуску). Теперь я хочу перейти на более низкий уровень, используя команды рисования 'page', 'canvas' и 'low-level': глава 2 из учебного пособия по быстрому запуску

http://developers.itextpdf.com/content/itext-7-jump-start-tutorial/chapter-2-adding-low-level-content.

Моя проблема в том, что я не могу получить доступ к классам PdfDocument, PdfCanvas и т. д., эти классы недоступны. Также я не могу создать объект New PdfWriter (оператор New не реализован)

Что случилось ?

  • мне не хватает некоторых библиотек импорта / использования? (В настоящее время я включаю iTextSharp.text и iTextSharp.text.pdf)
  • имеет ли это какое-то отношение к iText V5 -> V7, и может быть, руководство немного устарело?
  • Эти классы доступны только в библиотеках Java, а не в порте .NET?

Есть ли у кого-нибудь пример рисования на холсте с использованием VB.NET - это было бы очень полезно!

Спасибо.


person Strooom    schedule 07.09.2017    source источник


Ответы (2)


Для дальнейшего уточнения:

  • iText 5 .NET называется iTextSharp из-за исторических причин, которые выходят за рамки вопроса о переполнении стека.
  • iText 7 .NET не имеет псевдонима, потому что мы (iText Software) хотим подчеркнуть, что это тот же продукт, что и iText 7 Java, только для другой платформы. .

Найденное вами руководство не устарело, напротив, оно самое последнее. Это iTextSharp, который вы получили от NuGet, который устарел.

Если вы прочитаете описание на NuGet.org, то ясно увидите, что iTextSharp - это старая версия: https://www.nuget.org/packages/iTextSharp

В настоящее время у нас есть две поддерживаемые версии: iText 5 и iText 7. Обе доступны по лицензии AGPL и коммерческой лицензии.

iText 5 - это комплексная, но хорошо документированная библиотека решений, которая поможет вам создавать свои решения.

iText 7 - это полностью переработанная версия iText 5, позволяющая вам выбрать свое приключение с надстройками, основанными на простой модульной структуре кода, которая проста в использовании и хорошо документирована.

и

iTextSharp - это порт .NET для iText 5.

Если это было недостаточно ясно для вас (а это явно не так), то я был бы очень, очень признателен за ваши отзывы о том, как мы можем улучшить описание на NuGet.org.

person Amedee Van Gasse    schedule 07.09.2017
comment
Спасибо, Амеди - действительно, пакет iTextSharp от NuGet устарел, и это было легко исправить. Вот как я закончил эту старую версию: в «Управление пакетами NuGet» я просто искал «pdf». ITextSharp V5.5.12 был лучшим результатом поиска (2 млн загрузок), поэтому я решил, что это лучший выбор. Поиск «iText» привел к тому, что itext7 оказался на третьей позиции. Спасибо за разъяснения! - person Strooom; 07.09.2017
comment
Это то, что мы не можем легко исправить. iText 5 находится на NuGet с 2011 года, а iText 7 - на NuGet с 2016 года, поэтому было бы логично, что iText 5 имеет больше загрузок, чем iText 7. И я не собираюсь настраивать бота для искусственного повышения статистики загрузок iText 7. Единственный способ, которым мы можем увеличить количество iText 7, - это люди, подобные вам, использующие его. - person Amedee Van Gasse; 07.09.2017
comment
На самом деле мне следовало более внимательно прочитать раздел «Установка iText7», там есть все ответы ... Вместо этого я поленился и перешел к диспетчеру пакетов NuGet ... - person Strooom; 07.09.2017
comment
Будем надеяться, что ваш вопрос поможет будущим нерадивым читателям. :) - person Amedee Van Gasse; 07.09.2017

Убедитесь, что в вашей системе установлены нужные пакеты NuGet. Чтобы попробовать это, создайте пустой проект и включите пакеты NuGet.

  • iText7 от iText Software v 7.0.4

Учебное пособие по быстрому запуску было написано для iText7, поэтому имеет смысл, что вам понадобится именно эта версия. iText7 - это полная переработка iText5. Таким образом, вы действительно можете обнаружить, что несколько классов отсутствуют, если попытаетесь запустить образцы в библиотеке iText5.

person Joris Schellekens    schedule 07.09.2017