pyPdf не сможет извлечь текст с некоторых страниц в моем PDF-файле

Я пытаюсь использовать pyPdf для извлечения и печати страниц из многостраничного PDF. Проблема в том, что текст не извлекается с некоторых страниц. Я поместил здесь пример файла:

http://www.4shared.com/document/kmJF67E4/forms.html

Если вы запустите следующее, первые 81 страница не вернут текст, а последние 11 правильно извлечь. Когда у меня есть простая программа, которая вычисляет квадраты от 1 до N, реализованная с использованием цикла for и while, поведение отличается. (Я не ...

Я заметил любопытную вещь, работая в R. Когда у меня есть простая программа, которая вычисляет квадраты от 1 до N, реализованная с использованием цикла for и while, поведение отличается. (Я не забочусь о векторизации в данном случае или о применении функций).

fn1 <- function (N) 
{
    for(i in 1:N) {
        y <- i*i
    }
}

И

fn2 <- function (N) 
{
    i=1
    while(i <= N) {
        y <- i*i
        i <- i + 1
    }
}

Результаты следующие:

system.time(fn1(60000))
   user  system elapsed 
  2.500   0.012   2.493 
There were 50 or more warnings (use warnings() to see the first 50)
Warning messages:
1: In i * i : NAs produced by integer overflow
.
.
.

system.time(fn2(60000))
   user  system elapsed 
  0.138   0.000   0.137 

Теперь мы знаем, что цикл for работает быстрее, я предполагаю, что это из-за предварительного выделения и оптимизации. . Но почему он переполняется?

ОБНОВЛЕНИЕ: Итак, теперь попробуем другой способ с векторами:

fn3 <- function (N) 
{
    i <- 1:N
    y <- i*i
}
system.time(fn3(60000))
   user  system elapsed 
  0.008   0.000   0.009 
Warning message:
In i * i : NAs produced by integer overflow

Так что, возможно, это проблема с памятью? Я работаю в OS X с 4 Гб памяти и всеми настройками по умолчанию в R. Это происходит в 32- и 64-битных версиях (за исключением того, что времена быстрее).

Alex

25
задан Alex Brown 17 November 2010 в 11:20
поделиться