Wątek przeniesiony 2020-10-14 21:41 z Java przez cerrato.

dzielenie pdf

0

witam.
Czy mógłbym prosić o pomoc.

Korzystam ze skryptu umożliwiającego dzielenie pliku pdf na mniejsze zgodnie z występującym słowem kluczowym (znaleziony w sieci)
czy pomoże ktoś jak przerobić aby dzielenie na pojedyncze pdf odbywało się na zmianę slowa

Np "klient 1111111" i nowy pdf jak wystąpi zmiana numeru czyli "klient 222222".
Póki nie nastąpi zmiana to ma się "pakować do wspólnego" pdf

var pageArray = [];
var pageArrayEnd = [];

var stringToSearchFor = app.response("This Action Script splits the document by a keyword on each X number of pages, please enter the keyword:");

for (var p = 0; p < this.numPages; p++) {
    // iterate over all words
    for (var n = 0; n < this.getPageNumWords(p); n++) {
    // DEBUGGING HELP, UNCOMMENT NEXT LINE, CHANGE TO MATCH MULTIPLE WORDS OR WHAT EVER ORDER, eg if ((this.getPageNthWord(p, n) == stringToSearchFor) && (this.getPageNthWord(p, n + 1) == stringToSearchForTWO)) {..., Also add a prompt for the second search word and iterate one less for (var n = 0; n < this.getPageNumWords(p) - 1; n++) ...
    //app.alert("Word is " + this.getPageNthWord(p, n));
        if (this.getPageNthWord(p, n) == stringToSearchFor) {
            //app.alert("Found word on page " + p + " word number " + n, 3);
            if (pageArray.length > 0) {
                pageArrayEnd.push(p - 1);
            }
            pageArray.push(p);
            break;
        }
    }
}

pageArrayEnd.push(this.numPages - 1);
//app.alert("Number of sub documents " + pageArray.length, 3);
if (pageArray.length > 0) {
    for (var n = 0; n < pageArray.length; n++) {
        var d = app.newDoc();
            //app.alert("New Doc using pages " + pageArray[n] + " to " + pageArrayEnd[n], 3);
            d.insertPages( {
                            nPage: d.numPages-1,
                            cPath: this.path,
                            nStart: pageArray[n],
                            nEnd: pageArrayEnd[n],
            } );
        // remove the first page
        d.deletePages(0);
        d.saveAs({ cPath: this.path.replace(".pdf","") + n + ".pdf" });
        d.closeDoc(true);
    }
}
0

a musi byc po nazwie klienta ?

0

Tak musi to byc po numerze klienta
Załóżmy że mam pdf zawierający 100 faktur .
Pierwszych 12 faktur jest dla Klienta 111 i chciałbym aby za wszystkimi 11 fakturami powstał 1 plik pdf. Kolejny w duzym pliku jest jedna faktura (4 kartki) dla Klienta 222. I to tez powinien byc oddzielny plik pdf, Potem jest Klient 333 z 30 fakturami i tu tez powinien powstać oddzielny plik pdf. itd itd.

1 użytkowników online, w tym zalogowanych: 0, gości: 1