Reparar borken arquivo Postscript que só o Ubuntu abre

0

Eu tento converter o arquivo postscript do link para um pdf que eu posso ver em qualquer computador. Quando tento convertê-lo, recebo um erro sobre a pilha:

Error: /rangecheck in --getinterval--
Operand stack:
(\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000...) 9 0 714 9 (\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000...) -714 9
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1862 1 3 %oparray_pop 1861 1 3 %oparray_pop 1845 1 3 %oparray_pop 1739 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- %loop_continue --nostringval-- --nostringval-- %loop_continue --nostringval--
Dictionary stack:
--dict:1145/1684(ro)(G)-- --dict:0/20(G)-- --dict:70/200(L)-- --dict:138/300(L)-- --dict:96/200(L)--
Current allocation mode is local
Last OS error: 2
Current file position is 373434
GPL Ghostscript 8.64: Unrecoverable error, exit code 1 

quando tento imprimi-lo, posso imprimir apenas metade dele. Felizmente, posso visualizá-lo no visualizador de documentos integrado do Ubuntu (posso acessar todas as páginas, mas não posso imprimi-las em um arquivo).

Como posso corrigir esse arquivo postscript específico e convertê-lo para pdf?

Danis Fischer
fonte
Seu Ghostscript é muito antigo. Como 6 anos de idade.
ilkhd
O que você sugere? Mesmo depois de fazer o upgrade, recebi o mesmo erro.
Danis Fischer,
Você tentou centenas de diferentes serviços online? Eles podem usar software diferente.
ilkhd
Sim eu fiz. Todos eles dão esse erro específico.
Danis Fischer
Ok, eu fiz alguns ajustes e descobri que as páginas 36 e 49 (?) Estão quebradas. Se você cortá-los, o ghostscript irá gerar a saída, sem páginas quebradas, obviamente.
ilkhd

Respostas:

1

O problema é que um arquivo PS é um programa executável e pode executar ações impróprias, o que perturba a máquina virtual do ghostscript. Eu tinha localizado, a julgar pela posição retornada pelo ghostscript, quais são as páginas ofensivas; essas são as páginas 234 (36) e 250 (52). Então eu abri o arquivo .ps em um editor de texto e procurei por "%% Page: 234" e "%% Page: 250" e literalmente os recortei (até a próxima declaração %% Page) e alimentei o. ps arquivo para ghostscript (sem erros). Agora eu tenho um PDF sem 2 páginas.Essas páginas podem ser corrigidas por alguém que é bom em PostScript.

ilkhd
fonte
Obrigado. Como posso consertá-los?
Danis Fischer
Você precisa apenas de um editor de texto (gedit? Mcedit?). Abra o arquivo ps, procure %% Page, selecione o texto até %% Página: 235 (não incluindo "%% Página: 235") e exclua. Salve . Repita o
procedimento
Mas como eu corrijo as páginas corrompidas? (Você não respondeu no chat).
Danis Fischer
Desculpe, precisa completar o cadastro para atender o e estava ocupado ontem; as páginas só podem ser corrigidas por um especialista em Postscript e eu não sou; Tudo que eu pude fazer é jogar as páginas quebradas longe.
ilkhd
Obrigado mesmo assim. By the way: como você encontrou os números de páginas corrompidas?
Danis Fischer