Как создать PDF с текстом и табоицами на C#?

Программирование на Юнити.

Как создать PDF с текстом и табоицами на C#?

Сообщение novavision 28 фев 2015, 02:50

Доброй ночи.
Возникла необходимость сохраннеия счета в виде PDF файла с возможностью выделения и копирования текста.
В AssetStore пусто.. готовых решений нет. Накопал некий PDFSharp, но я даже его интергрировать не смог. Подскажите, как решить задачу с минимальными временными затратами? В идеале было был где то заказать/купить модуль, в котором вводишь данные таблицы, скажем в массиве, а он раскидывает их по графам. Большего по сути не надо
Аватара пользователя
novavision
UNITрон
 
Сообщения: 158
Зарегистрирован: 05 ноя 2014, 19:21

Re: Как создать PDF с текстом и табоицами на C#?

Сообщение Woolf 28 фев 2015, 04:21

http://habrahabr.ru/post/112707/

как решить задачу с минимальными временными затратами

Имхо, по собственному опыту java+pdf это нихрена не так просто, как кажется. Сам формат PDF чрезвычайно наворочен и простых путей там нет.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Как создать PDF с текстом и табоицами на C#?

Сообщение DbIMok 28 фев 2015, 05:15

novavision писал(а):Возникла необходимость сохраннеия счета в виде PDF файла с возможностью выделения и копирования текста.

вы не указали платформу(ы). потому что вариантов решения масса. например, можно получить pdf из Google Drive'a, загрузив в него csv или сразу сохраняя данные в его табличку. если интернет недоступен, а платформа standalone, можно запускать скрытый процесс с каким нибудь консольным csv2pdf.
novavision писал(а):В AssetStore пусто.. готовых решений нет

пусто, потому что масса библиотечек. что им делать в сторе? бери да используй.
http://deymon.online.fr/unity3d/TestPDF.zip
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Как создать PDF с текстом и табоицами на C#?

Сообщение novavision 28 фев 2015, 12:07

DbIMok писал(а):пусто, потому что масса библиотечек. что им делать в сторе? бери да используй.

Вот эта бибилиотека вроде пошла.. Все что пробовал до этого (PDFSharp iTextSharp) в свободном скачивании в сети - куча файлов, которые при размещении в проекте работать не хотели.. Постоянно какие то ошибки в классах, namespace и т.д. Даже вот это не заводится
http://www.francescogallorini.com/2011/02/unity-sharp-pdf/
Может я что то не так делаю, еще до этого не внедрял сторонние библиотеки в Unity проект

DbIMok писал(а):вы не указали платформу(ы). потому что вариантов решения масса. например, можно получить pdf из Google Drive'a, загрузив в него csv или сразу сохраняя данные в его табличку. если интернет недоступен, а платформа standalone, можно запускать скрытый процесс с каким нибудь консольным csv2pdf.

платформа - Windows. Постоянного досутпа в сеть может и не быть, так что первый вариант не подходит. Со вторым.. разобраться будет сложнее наверное даже.

Woolf писал(а):Имхо, по собственному опыту java+pdf это нихрена не так просто, как кажется. Сам формат PDF чрезвычайно наворочен и простых путей там нет.

у меня все просто - 1 таблица и все


Буду пробовать с iTextSharp.dll, которую приложили.. надеюсь смогу интергрировать, спасибо
Аватара пользователя
novavision
UNITрон
 
Сообщения: 158
Зарегистрирован: 05 ноя 2014, 19:21

Re: Как создать PDF с текстом и табоицами на C#?

Сообщение DbIMok 28 фев 2015, 12:38

если будете широко распространять, обратите внимание на ее лицензию http://itextpdf.com/pricing там же мануалы и примеры http://itextpdf.com/learn
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Как создать PDF с текстом и табоицами на C#?

Сообщение novavision 28 фев 2015, 13:32

dll у меня идет, все в порядке. Но вот вопрос такой - почему же до этого я еще качал source PDFSharp (https://pdfsharp.codeplex.com/releases) и iTextSharp, кидал в папку проекта Unity, и ничего не работало. Было куча ошибок в консоли.. Что не так то? Ест ькакие то особенности интерграции пакетов?
Аватара пользователя
novavision
UNITрон
 
Сообщения: 158
Зарегистрирован: 05 ноя 2014, 19:21

Re: Как создать PDF с текстом и табоицами на C#?

Сообщение novavision 01 мар 2015, 10:27

Поторопился я радоваться.. При проигрывании в Editor все в порядке, а вот при попытке создать Build получаю следующие ошибки
Скрытый текст:
Синтаксис:
Используется csharp
ArgumentException: The Assembly System.Drawing is referenced by itextsharp. But the dll is not allowed to be included or could not be found.
UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List`1 alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary`2 cache, BuildTarget target) (at C:/buildslave/unity/build/Editor/Mono/AssemblyHelper.cs:137)
UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List`1 alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary`2 cache, BuildTarget target) (at C:/buildslave/unity/build/Editor/Mono/AssemblyHelper.cs:140)
UnityEditor.AssemblyHelper.FindAssembliesReferencedBy (System.String[] paths, System.String[] foldersToSearch, BuildTarget target) (at C:/buildslave/unity/build/Editor/Mono/AssemblyHelper.cs:172)
UnityEditor.HostView:OnGUI()
Аватара пользователя
novavision
UNITрон
 
Сообщения: 158
Зарегистрирован: 05 ноя 2014, 19:21

Re: Как создать PDF с текстом и табоицами на C#?

Сообщение DbIMok 01 мар 2015, 16:01

Потому что она в проект не попадает. скопируйте System.Drawing.dll из %Unity Folder%\Editor\Data\Mono\lib\mono\2.0 в каталог проекта Plugins
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Как создать PDF с текстом и табоицами на C#?

Сообщение novavision 02 мар 2015, 00:40

Спасибо, работает.. Но все таки хотелось бы прояснить этот вопрос с интергрированием бибилиотек, чтобы потом не сталкиваться с подобной проблемой. Можете посоветовать какой то материал для прочтения?
Аватара пользователя
novavision
UNITрон
 
Сообщения: 158
Зарегистрирован: 05 ноя 2014, 19:21

Re: Как создать PDF с текстом и табоицами на C#?

Сообщение DbIMok 02 мар 2015, 01:09

http://docs.unity3d.com/ru/current/Manu ... lders.html в остальном просто здравый смысл
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Как создать PDF с текстом и табоицами на C#?

Сообщение novavision 02 мар 2015, 14:46

во, это уже многое прояснило. Спасибо еще раз
Аватара пользователя
novavision
UNITрон
 
Сообщения: 158
Зарегистрирован: 05 ноя 2014, 19:21

Re: Как создать PDF с текстом и табоицами на C#?

Сообщение novavision 05 мар 2015, 14:39

Возникла проблема с созданием PDF. В unity все гладко - делаю BaseFont
Синтаксис:
Используется csharp
string combineStr       = Path.Combine(Application.dataPath+"/Resources/Fonts", "Calibri Regular.ttf");
BaseFont bf             = BaseFont.CreateFont(combineStr, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
iTextSharp.text.Font titleFont  = new iTextSharp.text.Font(bf, 10f, iTextSharp.text.Font.NORMAL, BaseColor.BLACK);

Создвая ПДФ в Unity все кирилические символы отображаются, и никаких ошибок нету
А вот в билде ловлю ошибку
Синтаксис:
Используется csharp
"ArgumentException: Encoding name 'windows-1252' not supported
Paremeter name: name.


В сети никаких решений не нашел. Вернее все говорится именно о таком создании фона, но у меня почему то не работает

РЕШЕНО!
проблема опять был в нехватающих .dll
http://answers.unity3d.com/questions/42955/codepage-1252-not-supported-works-in-editor-but-no.html
Последний раз редактировалось novavision 06 мар 2015, 01:26, всего редактировалось 1 раз.
Аватара пользователя
novavision
UNITрон
 
Сообщения: 158
Зарегистрирован: 05 ноя 2014, 19:21

Re: Как создать PDF с текстом и табоицами на C#?

Сообщение DbIMok 06 мар 2015, 01:18

скопируйте в Plugins I18N.dll и I18N.West.dll из %UNITY_PATH%\Data\Mono\lib\mono\2.0
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Как создать PDF с текстом и табоицами на C#?

Сообщение novavision 06 мар 2015, 01:29

почти одновременно ) ох.. сколько же я времени на это потратил, я думал это какая то особенность iTextSharp
Аватара пользователя
novavision
UNITрон
 
Сообщения: 158
Зарегистрирован: 05 ноя 2014, 19:21

Re: Как создать PDF с текстом и табоицами на C#?

Сообщение DbIMok 06 мар 2015, 01:38

решение легко гуглится по тексту ошибки даже на этом форуме
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

След.

Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 8