Как программно создать PDF-файл из мобильного приложения Xamarin - PullRequest
3 голосов
/ 17 октября 2019

У меня довольно большой объем данных, которые я хочу записать в файл PDF в стиле таблицы, где каждая запись будет занимать новую строку.

Я предполагаю, что мне не следует изобретать велосипед и использовать какую-то библиотеку. Предпочтительно это должна быть бесплатная библиотека или библиотека с открытым исходным кодом. Я попытался использовать PDFSharp, который кажется идеально подходящим, но он дает мне ошибку:

Package 'PDFsharp-MigraDoc 1.50.5147' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETStandard,Version=v2.0'. This package may not be fully compatible with your project.

У меня есть вопрос: есть ли другая библиотека, которую я мог бы использовать для решения своей проблемы, которая такжебуть свободен? Может быть, можно сделать библиотеку PDFSharp целевой верной версией фреймворка? Любой совет - хороший совет, и я с нетерпением жду их всех.

1 Ответ

1 голос
/ 18 октября 2019

Если вы поддерживаете Android API 19+, вы можете конвертировать HTML в PDF, используя ОС без каких-либо других зависимостей.

Таким образом, вы можете расположить свои данные в HTML, а затем следовать этому сообщению в блоге о том, как конвертироватьв PDF с помощью самой ОС Android. Никаких сторонних библиотек не требуется.

http://www.annalytics.co.uk/android/pdf/2017/04/06/Save-PDF-From-An-Android-WebView/ https://developer.android.com/training/printing/html-docs

То же самое можно сделать на iOS, вы можете использовать ОС для преобразования HTML в PDF. Не знаю точно, для каких версий iOS это требуется, но, поскольку система печати Apple использует PDF, это должно вернуться довольно давно.

Вот пример. http://aplus.rs/2018/html2pdf-renderer-for-ios/

Не уверен, существует ли оболочка Xamarin для вышеперечисленного или нет.

Если вам не требуется поддержка устаревшей ОС iOS / Android, вышеуказанная работа без сторонних инструментов и HTMLв любом случае, возможно, лучший механизм верстки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...