Comments 9
Скачиваем и устанавливаем подходящую версию Download. Для удобной работы из среды .NET разработана обертка GhostScriptNet, которую также придется скачать. Архив распаковываем неподалеку от проекта. В архиве нас интересует сборка Ghostscript.NET.dll, которую незамедлительно подключаем к проекту
Как много действий.
Правильный путь — Install-Package iTextSharp
+2
Разве iTextSharp позволяет рендерить PDF в картинку? Впрочем GhostScript тоже есть на nuget.org
+1
Да. pdfdocument.SaveAsImage http://www.c-sharpcorner.com/UploadFile/a0927b/create-pdf-document-and-convert-to-image-programmatically/
0
Я не знаю, какую версию .NET вы используете и что подвигло вас использовать тот или иной подход к релазиации многопоточности в 2016 году но пару моментов бросились в гласа сразу:
Зачем использовать Dictionary<int, MemoryStream>, если у Вас используется доступ по индексу, когда есть MemoryStream[] и неблокирующий доступ по индексу, а количество можно определять использую атомарный инкремент?
Ну и еще, т. к. процесс печати так же занимает определенное время стоит посмотреть в сторону блокирующих очередей (BlockingCollection в .NET 4+), Reactive Extensions и Dataflow.
lock (PageStore) {
PageStore[pageNumber] = mem;
}
Зачем использовать Dictionary<int, MemoryStream>, если у Вас используется доступ по индексу, когда есть MemoryStream[] и неблокирующий доступ по индексу, а количество можно определять использую атомарный инкремент?
Ну и еще, т. к. процесс печати так же занимает определенное время стоит посмотреть в сторону блокирующих очередей (BlockingCollection в .NET 4+), Reactive Extensions и Dataflow.
+1
Не понимаю связь между годом и многопоточностью.
Согласен, конкретно в данном примере вполне можно использовать MemoryStream[].
Согласен, конкретно в данном примере вполне можно использовать MemoryStream[].
0
Про год, это я к тому, что уже есть TPL, PLINQ, async/await, различные потокобезопасные структуры данных и т. д., поэтому код, который использует ThreadPool.QueueUserWorkItem напрямую вызывает некоторые вопросы сам собой, не говоря уже о конкретном способе его использования и блокировок.
0
Sign up to leave a comment.
[PF] Печать PDF под .NET, растровый подход