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?


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.