rendered paste body#! /usr/bin/perl -w
#
# Copyright (c) 2010 LCD 47 <lcd047@gmail.com>
# All rights reserved.
#
# $Revision: 1.4 $
# $Id: cbo_clean.pl,v 1.4 2011/03/15 12:20:23 lcd047 Exp $
# $Source: /usr/share/CVS/Scripts/scripts/cambridge/cbo_clean.pl,v $
#
use strict;
sub clean
{
my $refobj = shift;
$$refobj =~ s/^Q\n.*/Q\n\nendstream\nendobj\n/mso
if ($$refobj =~ m/\/TT0 1 Tf \d+ Tr [\d.]+ [\d.]+ [\d.]+ [\d.]+ [\d.]+ [\d.]+ Tm \(Cambridge \) Tj/mo or
$$refobj =~ m/Downloaded from (?:Cambridge Books Online|http:\/\/ebooks\.cambridge\.org) by IP/mo);
return ($$refobj !~ m/\/Watermark| \(Watermark\) |\bWatermarkSettings\b/mo);
}
my ($in_obj, $obj);
binmode STDIN;
binmode STDOUT;
$in_obj = 0;
while (<>)
{
if ($in_obj)
{
$obj .= $_;
if (m/^endobj\b/o)
{
print $obj if (clean \$obj);
undef $obj;
$in_obj = 0;
}
}
else
{
if (m/^\d+\s+\d+\s+obj\b/o)
{
$obj = $_;
$in_obj = 1;
}
else
{ print; }
}
}