Я создал программу, которая шифрует и расшифровывает PDF-файлы. Я хочу, чтобы они были заблокированы для кого угодно, кроме меня, и чтобы открыть их только через мою программу. После того, как я зашифрую pdf, я получаю его в байтовом массиве. Есть ли в любом случае отображение дешифрованного байтового массива pdf-файла в форму без развертывания файла на диске?Показать pdf от байтового массива до C# winforms
ответ
Что вам нужно, это компонент просмотра WinForms PDF, который может загружать PDF из массива байтов. С просмотра PDF из Gnostice PDFOne .NET, вот код:
PDFViewer PDFViewer1;
byte[] baPDF; // load the decrypted PDF to this byte array
...
PDFViewer1.LoadDocument(baPDF);
http://www.gnostice.com/docs/pdfone_dot_net/[email protected][].html
ПРИМЕЧАНИЕ: Я работаю в этой компании Gnostice. Любой другой компонент просмотра PDF, если он может загрузиться из массива байтов, будет работать.
Нет необходимости сохранять расшифрованный PDF-файл на диск.
Спасибо большое! только одна мелочь. Когда я попытался использовать LoadDocument в расшифрованном массиве байтов PDF, я получаю исключение. Затем я попытался загрузить обычный байтовый массив PDF (с File.ReadAllBytes, без манипуляций) и все еще исключение PDFException .. вы, возможно, знаете почему? – Erez
Даже с строкой, содержащей фактическое pdf, то же исключение. – Erez
В этом случае вам необходимо отправить расшифрованный PDF-файл в поддержку пользователей библиотеки. – gn1
Если предположить, что у вас есть некоторые функции под названием GetDecrypedBytes()
, которая имеет подпись:
public byte[] GetDecryptedBytes();
Как зашифровать/расшифровать вещи выходит за рамки вопроса под рукой, и я предполагаю, что вы знаете, как это сделать ,
Тогда вы могли бы написать функцию, такие как:
public static string ByteArrayToString(byte[] bytes)
{
StringBuilder hex = new StringBuilder(bytes.Length * 2);
foreach (byte b in bytes)
hex.AppendFormat("{0:x2}", b);
return hex.ToString();
}
И что бы превратить байты в текст, который может отображаться где-то.
И тогда вы могли бы сделать что-то на вашем UI, такие как:
myTextBox.Text = ByteArrayToString(GetDecryptedBytes());
Очевидно, можно настроить функцию ByteArrayToString
, чтобы изменить способ отображения шестнадцатеричное представление байтов.
Спасибо, но это не так, это просто показывает шестнадцатеричное представление PDF-файла, не представляя его. – Erez
Вам нужно будет либо отправить PDF в браузер с помощью adobe add- использовать или использовать сторонний элемент управления. Кроме того, вы можете конвертировать его в формат XPS и иметь элементный элемент, отображающий элемент управления WPF, который может отображать данные XPS. В WinFotms нет встроенного средства просмотра PDF. – itsmatt
- 1. Преобразование байтового массива от c до swift
- 2. Передача байтового массива от C до Lua
- 3. Показать встроенный файл pdf в winforms C#
- 4. Показать файл PDF в WinForms
- 5. Открыть pdf из байтового массива ios xamarin C#
- 6. Преобразование байтового массива в файл PDF?
- 7. Получение байтового массива из процесса C++ COM до C#
- 8. C# iTextSharp Слияние нескольких PDF-файлов с помощью байтового массива
- 9. Создание файла PDF с использованием байтового массива C#/asp.net
- 10. C# Winforms PDF Reader
- 11. JavaScript - Получение файла от url до байтового массива
- 12. Передача байтового массива от Blackberry до .NET Webservice
- 13. Преобразование байтового массива от малого до большого или наоборот
- 14. java - получить ключ от байтового массива
- 15. C#: Как показать/просмотреть PDF внутри приложения winforms?
- 16. Печать PDF программно - C# WinForms
- 17. Обновление от WinForms до Telerik
- 18. От Winforms до WPF-времени?
- 19. Cast длиной от меньшего байтового массива (Java)
- 20. Маршаллинг массива структур от C++ до C#?
- 21. C# - Создание байтового массива неизвестного размера?
- 22. От PDf до String
- 23. Resize размера байтового массива
- 24. Как выделить текст в Pdf Winforms C#
- 25. Размер байтового массива golang
- 26. Отправка изображения с помощью преобразования байтового массива, от java до C#
- 27. Получение байтового массива вместо сохранения байтового массива в виде файла
- 28. Отображение PDF в WinForms
- 29. DES-шифрования байтового массива, Java
- 30. OpenCV C++ Преобразование байтового массива в Mat
Итак, вы хотите избежать записи байта [] файла pdf на диск? И вы просто хотите показать байт [] (отображаемый в виде текста, например, шестнадцатеричный редактор) на winform? – itsmatt
Да, я не хочу писать дешифрованный pdf-диск на диск, потому что тогда все было бы излишним. Я хочу представить дешифрованные байты, хранящиеся в моей памяти – Erez