Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Cel?:
Przeczytanie pdf'a w konsoli
Dostępne narzędzia:
pdf2ps, ps2ascii
Opis:
Potrzebuję zrobić, nie na moim komputerze, nawet koncie (połączenie przez ssh) to co w tytule... Problem jest taki, że pdf2ps robi ps, a tego nie chce... Chce zeby przekazał ps'a 'w locie' i ps2ascii przeczytał... Dlaczego tak? No bo nie mam prawa tam tworzenia plików nie na swoim koncie.
Ktoś powie: 'banał, bo można skopiować pdf do siebie'... Otóż to jest bardziej skomplikowane i kopiować go nie mogę też... No więc mogę tylko go przeczytać... Najlepiej coś a'la: pdf2ps Plik.pdf | ps2ascii
Można coś takiego??
Ostatnio edytowany przez P@blo (2011-11-06 16:35:32)
Offline
W [deb]poppler-utils[/deb] jest [tt]pdftotext[/tt]
Offline
[quote=P@blo]Potrzebuję zrobić, [u]nie na moim komputerze, nawet koncie (połączenie przez ssh)[/u] to co w tytule...[/quote]
Nie jestem adminem tego kompa... Nie zainstaluje tego pakietu.
[b]EDIT:[/b]
Na szczęście okazało się, że admin pomyślał i [tt]pdftotext[/tt] jest. Problem w tym, że to tworzy plik *.txt, a na to nie mogę sobie pozwolić... Jak to od razu przeczytać??
Ostatnio edytowany przez P@blo (2011-11-06 12:56:10)
Offline
Przekazywanie w locie to nic trudnego, ale z niewyjaśnionych dla mnie powodów to nie zawsze działa lub nie wszędzie:
Teoretycznie "-" przekazuje często przez stdout strumień (o ile program tak to implementuje)
pdf2ps plik.pdf - | ps2ascii -
Metoda bardziej pewna to użycie stdout, które gdzieś tam jest:
pdf2ps plik.pdf /proc/self/fd/1 | ps2ascii /proc/self/fd/1
Pokombinuj więc z tym. Nie gwarantuję 100% sukcesu, ale "pdf2ps plik.pdf /proc/self/fd/1" bynajmniej działa zgodnie z oczekiwaniami.
Skoro nie masz prawa do tworzenia to może wykorzystać istniejący jakiś plik? Z pewnością jakiś niepotrzebny się znajdzie. Historia powłoki może?
Do EDIT:
Strumieniem :) less/grep/cat
Ostatnio edytowany przez NIC (2011-11-06 13:01:57)
Offline
@NIC #1:
Nic nie robi.
@NIC #2:
~$ pdf2ps L1-09.pdf /proc/self/fd/1 | ps2ascii /proc/self/fd/1 Error: /rangecheck in --run-- Operand stack: --nostringval-- --nostringval-- --nostringval-- (% ) Execution stack: %interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1877 2 3 %oparray_pop --nostringval-- Dictionary stack: --dict:1207/1684(ro)(G)-- --dict:0/20(G)-- --dict:73/200(L)-- Current allocation mode is local Last OS error: 29 GPL Ghostscript 8.71: Unrecoverable error, exit code 1
i wisi... Musze zabijać...
@NIC EDIT:
Jak dokładnie? Coś w stylu
pdftotext plik.pdf|less
Nie działa... Tworzy obok plik *.txt
[b]EDIT:[/b]
Może da się jakoś przekonwertować to co cat wypluje z pdf'a? Bo pdf wygląda jak plik binarny jak dla mnie... Może jest jakieś narzędzie (które bym sobie zainstalował na swoim kompie), które to zamieni znów na pdf??
[b]EDIT2:[/b]
Może coś jeszcze dodam... Odczytać mogę skryptem php. Czyli robię sobie skrypcik z poleceniem systemowym 'cat Plik.pdf' w przeglądarce wchodzę sobie 'na swoją strone' kopiuje to co wypluje do pliku. Dodam rozszerzenie pdf no i mam pdf... Problem, że to nie działa do końca... Ustawiam kodowanie w przeglądarce UTF-8 no, ale mimo tego nie działa...
Ostatnio edytowany przez P@blo (2011-11-06 13:56:39)
Offline
Spróbuj.
pdftotext plik.pdf -
lub
pdftotext plik.pdf /proc/self/fd/1
Offline
a man na tym systemie jest? bo rozwiazanie tego problemu jest na samym poczatku [tt]man pdftotext[/tt] ... w [tt]man ps2ascii[/tt] tez sa pomocne wskazowki ...
Offline
Zgadza się. To jest rozwiązanie :) Dziękuję bardzo za pomoc. Man'a miałem czytać później bo teraz inny wątek mnie zajął ;)
Pozdrawiam.
Offline
W konsoli TTY możńa odpalić PDFa bezpośrednio poprzez bufor ramki.
http://linuxers.org/howto/how-open-pdf-files-linux-console-using-fbgs-framebuffer-pdf-viewer
Offline
Dokładnie. fbi i fbgs Twoimi przyjaciółmi. O wiele przyjemniej chyba oglądać oryginał pdfa niż oglądać ASCII po "7 transmutacjach" ;-)
Offline
Tylko tu chodzi o czytanie PDF na koncie shellowym, przez SSH. Nie na TTY.
Offline
No w końcu 'Pijak ;-p'. ;D Tylko bez obrazy ;)
Offline
blee, nie doczytałem. sorry.
Offline
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00088 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.145.64.245' WHERE u.id=1 |
0.00063 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.64.245', 1732964442) |
0.00042 | SELECT * FROM punbb_online WHERE logged<1732964142 |
0.00069 | SELECT topic_id FROM punbb_posts WHERE id=185222 |
0.00192 | SELECT id FROM punbb_posts WHERE topic_id=20013 ORDER BY posted |
0.00060 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=20013 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00090 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=20013 ORDER BY p.id LIMIT 0,25 |
0.00079 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=20013 |
Total query time: 0.00701 s |