RaouL_BennetH
23-06-2010, 16:00
Ciao a tutti :)
Qualcuno di voi che usa le librerie iText (per java o per .net) saprebbe indirizzarmi su come poter rimuovere delle pagine da un pdf composto da più pagine ?
Su di un link ho letto che:
One way to do it:
Delete = Copy PDF pages and skip pages to be removed thereby leaving the pages you want.
Il che mi va bene se devo scartare delle pagine all'inizio o alla fine (purchè in sequenza) ma se devo scartare la 3, 51, 99 , dovrei avere un modo di 'ciclare' (che sinceramente non conosco) che quando incontra il numero di pagina in questione, lo salti e vada a quello successivo.
Sto provando a ragionarci su in pseudo codice:
input:
1) pdf di origine
2) pagine da non copiare
elaborazione:
dal pdf di origine prendo il numero di pagine che lo compongono
le pagine da non copiare le memorizzo in un dizionario o in una lista
o un semplice array
ciclare (ma non so come) avendo come:
start = 0 ; end < numeroPaginePdf ; contatore++
se contatore = numeroPaginaDaScartare, contatore +1
output:
pdf - pagineScartate
Ovviamente, siete autorizzati a ridere, tirarmi pomodori virtuali e a citarmi sul daily wtf .
Grazie mille :)
RaouL.
EDIT: posto il ragionamento in codice:
private void test()
{
numPages = 100;
badPages = new int[] { 3, 63, 98 };
for (int i = 0; i < numPages; i++)
{
for (int j = 0; j < badPages.Length; j++)
{
if (badPages[j] == i)
{
i++;
}
}
//copiaPagina(i);
}
}
Qualcuno di voi che usa le librerie iText (per java o per .net) saprebbe indirizzarmi su come poter rimuovere delle pagine da un pdf composto da più pagine ?
Su di un link ho letto che:
One way to do it:
Delete = Copy PDF pages and skip pages to be removed thereby leaving the pages you want.
Il che mi va bene se devo scartare delle pagine all'inizio o alla fine (purchè in sequenza) ma se devo scartare la 3, 51, 99 , dovrei avere un modo di 'ciclare' (che sinceramente non conosco) che quando incontra il numero di pagina in questione, lo salti e vada a quello successivo.
Sto provando a ragionarci su in pseudo codice:
input:
1) pdf di origine
2) pagine da non copiare
elaborazione:
dal pdf di origine prendo il numero di pagine che lo compongono
le pagine da non copiare le memorizzo in un dizionario o in una lista
o un semplice array
ciclare (ma non so come) avendo come:
start = 0 ; end < numeroPaginePdf ; contatore++
se contatore = numeroPaginaDaScartare, contatore +1
output:
pdf - pagineScartate
Ovviamente, siete autorizzati a ridere, tirarmi pomodori virtuali e a citarmi sul daily wtf .
Grazie mille :)
RaouL.
EDIT: posto il ragionamento in codice:
private void test()
{
numPages = 100;
badPages = new int[] { 3, 63, 98 };
for (int i = 0; i < numPages; i++)
{
for (int j = 0; j < badPages.Length; j++)
{
if (badPages[j] == i)
{
i++;
}
}
//copiaPagina(i);
}
}