Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / StreamReader pdf / 25 сообщений из 26, страница 1 из 2
22.08.2013, 15:22
    #38374815
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
Привет всем.
Пытаюсь вытащить данные из pdf:
Код: c#
1.
2.
3.
4.
using (StreamReader sr = new StreamReader(filename))
                {
                    String str = sr.ReadToEnd();
                }



но из-за того что в pdf есть endstream не удается запихнуть в string весь файл.
Как быть?
...
Рейтинг: 0 / 0
22.08.2013, 15:24
    #38374820
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
iTextSharp
...
Рейтинг: 0 / 0
22.08.2013, 15:27
    #38374829
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
МСУiTextSharp

Код: c#
1.
2.
PdfReader reader = new PdfReader(pdfFile);
string str = PdfTextExtractor.GetTextFromPage(reader, pageNumber);



Он берет только текст, мне нужно полностью всё вместе со спец. символами
...
Рейтинг: 0 / 0
22.08.2013, 15:30
    #38374844
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
StudentsОн берет только текст, мне нужно полностью всё вместе со спец. символами
Какими такими спецсимволами? Зачем?
...
Рейтинг: 0 / 0
22.08.2013, 15:32
    #38374845
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
Students,

... читайте через ReadLine() в цикле "пока не %EOF" ...
...
Рейтинг: 0 / 0
22.08.2013, 15:33
    #38374847
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
должно получится примерно так:

%PDF-1.4
%ЎіЕЧ
1 0 obj
<</ArtBox[ 0 0 841.89 595.276]/BleedBox[ 0 0 841.89 595.276]/Contents 2 0 R /CropBox[ 0 0 841.89 595.276]/MediaBox[ 0 0 841.89 595.276]/Parent 71 0 R /Resources<</ColorSpace<</CS0 48 0 R /CS1 51 0 R >>/ExtGState<</GS0 228 0 R /GS1 229 0 R /GS2 5 0 R >>/Font<</C0_0 44 0 R /C2_0 43 0 R /C2_1 42 0 R /T1_0 227 0 R /T1_1 37 0 R /T1_2 226 0 R >>/ProcSet[/PDF/Text/ImageC]/Properties<</MC0<</Metadata 15 0 R >>/MC1<</Metadata 16 0 R >>>>/XObject<</Fm0 38 0 R /Im0 18 0 R /Im1 20 0 R /Im2 21 0 R /Im3 23 0 R /Im4 25 0 R >>>>/Rotate 0/StructParents 0/TrimBox[ 0 0 841.89 595.276]/Type/Page>>
endobj
2 0 obj
<</Filter/FlateDecode/Length 3066>>stream
H‰ФWЫn№}пЇагtђn±ЉЧ„l
endstream
мне нужно вырезать всё что находится внутри stream-endstream в отдельные куски
...
Рейтинг: 0 / 0
22.08.2013, 15:35
    #38374851
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
Не понял, вот я открыл файл, что дальше? Какие спецсимволы, и еще ты не ответил - зачем?
...
Рейтинг: 0 / 0
22.08.2013, 15:37
    #38374863
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
Studentsмне нужно вырезать всё что находится внутри stream-endstream в отдельные куски
Ну ок, получил ты вот это H‰ФWЫn№}пЇагtђn±ЉЧ„l

Что дальше с этим собираешься делать? :)
...
Рейтинг: 0 / 0
22.08.2013, 15:44
    #38374876
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
carrotikStudents,

... читайте через ReadLine() в цикле "пока не %EOF" ...

бррр. В каком цикле?
Код: c#
1.
while (sr.Peek() > -1)
...
Рейтинг: 0 / 0
22.08.2013, 15:45
    #38374880
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
Где ответы на вопросы?
...
Рейтинг: 0 / 0
22.08.2013, 15:46
    #38374881
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
МСУStudentsмне нужно вырезать всё что находится внутри stream-endstream в отдельные куски
Ну ок, получил ты вот это H‰ФWЫn№}пЇагtђn±ЉЧ„l

Что дальше с этим собираешься делать? :)

добавьте туда картинку, мультимедиа и т.п.
Мне нужно найти всё, что между stream-endstream и вырезать оттуда (точнее заменить на sha256), чтобы не слать сразу 100МБ, а мультимедию с совпадающим хэшем просто оставить и не слать.
...
Рейтинг: 0 / 0
22.08.2013, 15:53
    #38374893
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
Students,

.. ну так открывайте его как текстовый файл
http://stackoverflow.com/questions/10563300/streamreader-and-textreader
...
Рейтинг: 0 / 0
22.08.2013, 15:54
    #38374895
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
Studentsдобавьте туда картинку, мультимедиа и т.п.
И как ты собираешься из этой строки кракозябр получить картинку?

StudentsМне нужно найти всё, что между stream-endstream и вырезать оттуда (точнее заменить на sha256), чтобы не слать сразу 100МБ, а мультимедию с совпадающим хэшем просто оставить и не слать.
Ничего не понял, какой-то бред...

P.S. Если нужно достать картинку, для этого методы объектной модели библиотеки.
...
Рейтинг: 0 / 0
22.08.2013, 16:03
    #38374906
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
я не собираюсь её туда слать.
Я собираюсь подсчитать хэш и сравнить с тем, что на севрере.
Если хэш тот же, то огромное видео, картинку и.т.п. апдейтить не нужно.

ReadLine() и ReadToEnd() почему-то работают до

пње1ґќЈЉ%љђ.4„Црh; ЖР


А букву Ж не видят и останавливаются. Если этот кусок убрать, то читает до конца всё правильно.
Странно.
...
Рейтинг: 0 / 0
22.08.2013, 16:05
    #38374909
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
Кто тебе сказал, что хеши будут одинаковы?
...
Рейтинг: 0 / 0
22.08.2013, 16:09
    #38374917
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
МСУКто тебе сказал, что хеши будут одинаковы?

если картинки одинаковые (не изменялись), соотвственно то, что я достал внутри stream-endstream как текст тоже будут одинаковыми
...
Рейтинг: 0 / 0
22.08.2013, 16:11
    #38374923
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
Studentsя не собираюсь её туда слать.
Я собираюсь подсчитать хэш и сравнить с тем, что на севрере.
Если хэш тот же, то огромное видео, картинку и.т.п. апдейтить не нужно.

ReadLine() и ReadToEnd() почему-то работают до

пње1ґќЈЉ%љђ.4„Црh; ЖР


А букву Ж не видят и останавливаются. Если этот кусок убрать, то читает до конца всё правильно.
Странно.

...там байт нечитаемый между точкой с запятой и Ж ... тогда читать надо байтами ...
...
Рейтинг: 0 / 0
22.08.2013, 16:14
    #38374926
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
StudentsМСУКто тебе сказал, что хеши будут одинаковы?

если картинки одинаковые (не изменялись), соотвственно то, что я достал внутри stream-endstream как текст тоже будут одинаковыми
crc32 контрольная сумма будет одинаковая, но не строковое представление не пойми чего и каким алгоритмом закодированное. Вообщем делай как хочешь.
...
Рейтинг: 0 / 0
22.08.2013, 16:17
    #38374933
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
Как мне на работе сказали, так я и делаю.

carrotik, как вы смогли понять, что это нечитаемый байт? Он каким-то символом обозначается?
...
Рейтинг: 0 / 0
22.08.2013, 16:23
    #38374943
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
Students,

..в HEX редакторе файл откройте .. Я не смотрел, только предположил ...
...
Рейтинг: 0 / 0
22.08.2013, 16:26
    #38374949
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
ясно. спасибо за ответы.

Если читать байтами, то это уже не через streamreader?
...
Рейтинг: 0 / 0
22.08.2013, 16:32
    #38374958
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
carrotikStudents,

..в HEX редакторе файл откройте .. Я не смотрел, только предположил ...
Код: c#
1.
2.
3.
4.
5.
FileStream fs = File.OpenRead(filename);
byte[] bytes = new byte[fs.Length];
fs.Read(bytes, 0, Convert.ToInt32(fs.Length));
fs.Close();
string tempString = Encoding.Default.GetString(bytes);



Если так прописать, то в tempString тоже записывается только до символа "Ж".
можно как-то выкинуть нечитаемый байт из bytes ?
...
Рейтинг: 0 / 0
22.08.2013, 16:34
    #38374966
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
StudentsКак мне на работе сказали, так я и делаю.
Убей их там всех об стену.
...
Рейтинг: 0 / 0
22.08.2013, 17:16
    #38375056
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
Students,

... не знаю, каким должно быть правильное решение, но как вариант, читать батовый массив через ReadChar посимвольно, и проверять каждый символ на Char.IsControl (т.е. управляющий символ), и соответственно выбрасывать, а уже массив Char[] потом в строку .. Но сильно как-то это не совсем .. :)
...
Рейтинг: 0 / 0
22.08.2013, 17:19
    #38375063
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StreamReader pdf
МСУStudentsКак мне на работе сказали, так я и делаю.
Убей их там всех об стену.

Почему? Смотрите. Пусть в pdf есть очередной номер журнала. Человек пишет или исправляет статью.
Какой смысл чекинить весь журнал на сервер, когда можно и нужно чекинить только текст. Картинки ведь не поменялись.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / StreamReader pdf / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]