Jak usunąć znak wodny z pliku PDF?

41

Myślałem, że będzie to proste zadanie, ale okazało się, że jest odwrotnie.

Znak wodny to ten sam (nakładający się, ale przezroczysty) obraz na każdej stronie. Sam utworzyłem plik PDF (więc nie martw się tutaj prawami autorskimi) za pomocą PDFCreator 0.9.8.

Próbowałem już programu Adobe Acrobat Pro mojego znajomego, ale nie działał. Próbuje go usunąć, ale nie może. Próbowałem usunąć nagłówek / stopkę itp., Ale znak wodny po prostu nie zniknie.

Jak mogę usunąć znak wodny?

Apacz
źródło
2
PDF jest formatem wyjściowym, podobnie jak wydrukowana strona elektroniczna. Nie jest przeznaczony do edycji, a w większości przypadków nie będziesz w stanie zrobić tego, o co prosisz, bez eksportowania stron do zdjęć i robienia zdjęć ze znaków wodnych.
mk12
Zalecenia zakupowe są nie na temat wszystkich witryn wymiany stosów. Aby zapobiec zamknięciu tego pytania, zaleciłbym zmianę na pytanie jak, zamiast tego
Kanadyjczyk Luke REINSTATE MONICA
3
Wygląda na to, że wystarczy użyć PDFCreator 0.9.8 i ustawić tę opcję, aby znak wodny NIE był dodawany do każdej strony. Zakładam, że to pytanie jest spowodowane tym, że nie masz oryginalnego źródła.
Ramhound,

Odpowiedzi:

73

W przypadku znaków wodnych opartych na obrazach istnieje kilka narzędzi, które obiecują ich automatyczne usunięcie. Na przykład:

Wszystkie z nich można wypróbować za darmo, ale wymagają licencji, aby faktycznie uzyskać pożądaną wydajność.

Jednak znak wodny tego konkretnego pliku PDF (który PO przesłał mi pocztą e-mail) nie jest pojedynczym obrazem powtarzającym się na wszystkich stronach. Jak się okazuje, PDFCreator zakodował go (prawie piksel po pikselu) w każdym z nich. To sprawia, że ​​znak wodny jest znacznie trudniejszy do usunięcia (i powoduje raczej rozdęty plik PDF).

Ponieważ znak wodny składa się z wielu małych obrazów, możesz je usunąć za pomocą edytora PDF (np. Foxit Advanced PDF Editor ), po prostu wybierając je i naciskając Delete. Niestety musisz to powtórzyć dla każdej strony.

Mniej czasochłonnym rozwiązaniem byłoby programowe usunięcie znaku wodnego. Potrzebujemy:

Kroki

  1. Pobierz Pdftk i wypakuj pdftk.exe i libiconv2.dll do % windir% \ System32 , katalogu na ścieżce lub w dowolnej innej wybranej lokalizacji.

  2. Pobierz i zainstaluj Notepad ++.

  3. Strumienie PDF są zwykle kompresowane przy użyciu algorytmu DEFLATE . Oszczędza to miejsce, ale sprawia, że ​​źródło PDF jest nieczytelne.

    Komenda

    pdftk original.pdf output uncompressed.pdf uncompress
    

    dekompresuje wszystkie strumienie, dzięki czemu można je modyfikować za pomocą edytora tekstu.

  4. Otwórz nieskompresowany.pdf za pomocą Notepad ++, aby odsłonić strukturę znaku wodnego.

    W tym konkretnym przypadku każda strona zaczyna się od bloku

    q 9 0 0 9 2997 4118.67 cm
    BI
    /CS/RGB
    /W 1
    /H 1
    /BPC 8
    ID Ÿ®¼
    EI Q
    

    i prawie 4000 bloków tak jak ten. Ten konkretny blok ustawia tylko jeden ( /W 1 /H 1) piksel znaku wodnego.

    Przewijanie w dół, aż zmiany wzoru ujawnią, że strumień znaku wodnego ma długość 95 906 bajtów (licząc znaki nowej linii). Dokładnie ten sam strumień powtarza się na każdej stronie pliku PDF.

  5. Naciśnij Ctrl+ Hi ustaw następujące opcje:

    Find:               q 9 0 0 9 2997 4118\.67 cm.{95881}
    Replace:            (blank)
    Match case:         checked
    Wrap around:        checked
    Regular expression: selected
    . matches newline:  checked
    

    Wyrażenie regularne q 9 0 0 9 2997 4118\.67 cm.{95881}dopasowuje pierwszy wiersz powyższego bloku ( q 9 0 0 9 2997 4118.67 cm) i wszystkie kolejne 95 881 znaków, tj. Strumień znaku wodnego.

    Kliknięcie przycisku Zamień wszystko usuwa go ze wszystkich stron pliku PDF.

  6. Znak wodny został teraz usunięty, ale plik PDF zawiera błędy (długości strumieni są niepoprawne) i jest nieskompresowany.

    Komenda

    pdftk uncompressed.pdf output nowatermark.pdf compress
    

    dba o oba.

  7. nieskompresowany.pdf nie jest już potrzebny. Możesz go usunąć.

Rezultatem jest ten sam plik PDF bez znaku wodnego (i mniej więcej o połowę mniejszy).

Dennis
źródło
4
Kolejna sztuczka, którą uznałem za przydatną: trudno było mi znaleźć blok odpowiadający znakowi wodnemu w moim pliku PDF. Więc to, co zrobiłem, to po prostu wyodrębnienie jednej strony z pliku PDF, najlepiej strony, na której jest tylko znak wodny i niewiele więcej. Tylko na tej jednej stronie powinno być łatwiej ustalić blok odpowiadający znakowi wodnemu. Następnie wróć i zrób to dla oryginalnego pliku PDF.
Kenny LJ,
1
Wow, to pierwsze miejsce w Internecie, w którym znalazłem dobry sposób na zarządzanie tym. Jakieś miejsca, które polecasz przeczytać w formacie kontenera?
ConstantineK
2
@ hobs IIRC, przeczytałem części oficjalnego dokumentu PDF, aby napisać tę odpowiedź.
Dennis,
1
Dzięki @Dennis, już wam głosowałem, ale wydaje się, że jest to najlepsze źródło kanoniczne. Udało mi się uzyskać to, czego potrzebowałem, po prostu kilka funkcji znajdź / zamień oraz kilka dodatkowych prób kompresji i uruchamiania błędów. OGROMNA POMOC!
ConstantineK
7
Zamiast pdftkmożna również użyć qpdf do dekompresji i kompresji plików PDF. Polecenia: qpdf --stream-data=uncompress original.pdf uncompressed.pdfiqpdf --stream-data=compress uncompressed.pdf nowatermark.pdf
David Schuler
6

Wygląda na to, że znak wodny jest w rzeczywistości częścią obrazów w formacie .PDF, a nie oddzielnym obrazem nad nim renderowanym przez to, czego używasz do wyświetlania .PDF. Usunięcie znaku wodnego może nie być możliwe bez wyodrębnienia obrazów z pliku .PDF, uruchomienia ich za pomocą edytora obrazów, a następnie ręcznej rekonstrukcji pliku .PDF.

LawrenceC
źródło
4

W przypadku tekstowych znaków wodnych edycja wersji PostScript może być znacznie łatwiejsza: Po

$ pdftops document.pdf

edytuj document.ps, a następnie przekonwertuj z powrotem do formatu PDF za pomocą

$ ps2pdf document.ps

heiner
źródło
W systemie Linux uważaj na to pdftopsi pdf2pssą inne. Użyj pierwszego polecenia, a nie drugiego.
Camille Goudeseune,
1
Jeśli wiesz, co to jest znak znaku wodnego, oto jedna linijka. pdftops in.pdf - | sed 's/WATERMARK//' | ps2pdf - out.pdf
Camille Goudeseune,
1

Artefakty pieczęci polegają na tym, że można je usunąć w programie Adobe Acrobat Pro, jednak regeneruje się ono po ruchu myszy, ponieważ obiekt strumienia utrzymuje go w pamięci.

Jeśli spróbujesz edytować źródło pdf - co jest trudne, istnieje prawdopodobieństwo, że plik zostanie uszkodzony.

Jeśli znaczek jest strumieniem, możemy go przerwać, odłączając komputer od sieci, co zrobiłem.

Następnie za pomocą Adobe Acrobat Pro wybrałem jedną z moich adnotacji, kliknąłem prawym przyciskiem myszy, aby wyświetlić wyskakujące okienko, i wybrałem „Pokaż listę komentarzy”.

Wybierz nikczemny znak wodny / pieczęć z listy, kliknij prawym przyciskiem myszy, aby wyświetlić wyskakujące okienko i wybierz „Usuń”. Zrób to na każdej stronie, na której następuje przymocowanie.

Zapisz plik pod inną nazwą. Moja aplikacja uległa awarii, ale nie przed zapisaniem pliku!

Otwórz nowy i znacznie mniejszy plik; zauważ, że wszystkie znaki wodne / znaczki są gonzo.

W moim przypadku rozmiar mojego 3-stronicowego dokumentu skrócił się z 300 kb do imponujących 60 kb. Wszystkie oryginalne dane i adnotacje pozostały nienaruszone - bez znaków wodnych.

~ Dobre polowanie: o)

Alan Hord
źródło
1

przekonwertować dokument do pliku .rtf za pomocą zamzar. Znak wodny znika automatycznie po konwersji. Uwaga: - Działa idealnie, jeśli dokument zawiera materiał tekstowy. Zawsze była bardzo pomocna .. (użytkownik Maca)

Shifa
źródło
To nie działa w przypadku pliku PDF, który próbowałem.
Kenny LJ,
1

Znalazłem inny sposób, aby to zrobić:

  1. Użyj narzędzia pdf2htmlEX (lub dowolnego innego konwertera PDF na HTML), aby przekonwertować plik PDF na plik HTML.
  2. Edytuj HTML za pomocą edytora tekstu i usuń znak wodny. Zapisz to.
  3. Wydrukuj do HTML na nowym dokumencie PDF
  4. Zysk
Dominik Antal
źródło
Dziękuję Ci. Czy na pewno nie można usunąć znaku wodnego za pomocą Adobe Acrobat w ten sposób? (To może być rzeczywiście tańsze rozwiązanie).
Apache
Uważam, że potrzebujesz hasła, aby usunąć znak wodny z czytnika Adobe, dlatego użyłem tej metody.
Dominik Antal
0

Jest to uzupełnienie odpowiedzi @Dennis z 18:06 30 lipca 2012 r. Z pewnością odnosi się do trudniejszej sprawy.

W najprostszym przypadku, gdy znak wodny jest prosty, na przykład bez ozdoby

Smedley Dla komisarza

nieskompresowane znaki wodne PDF można zdefiniować w następujący sposób:

    BT
    75.96 625 Td
    (Smedley For Commissioner)Tj
    ET

gdzie 75.96jest przesunięciem poziomym i 625przesunięciem pionowym dla tego konkretnego wystąpienia znaku wodnego. (Tak, widoczne są zarówno liczby rzeczywiste, jak i liczby całkowite.)

Wyrażenie regularne takie jak poniżej będzie działać dla wszystkich takich znaków wodnych, ignorując wszelkie odmiany ich umieszczenia:

^BT\n[0-9.]+ [0-9.]+ Td\n\(Smedley For Commissioner\)Tj\nET\n

Pamiętaj jednak, że różnorodne modyfikatory plików PDF mogą wchodzić w grę ze znakami wodnymi, które mają bardziej skomplikowane formatowanie. Takie szaleństwo może przekształcić to, czego czytelnik oczekuje (ma nadzieję?), Że będzie ciągłym, łatwym do przeszukania sznurkiem w bałagan zupy alfabetycznej. Na przykład,

E 1 = mc² według Smedley ™

Może to być wynikiem tego:

    BT
    75.96 625 Td
    (E)Tj
    -5 Ts
    (1)Tj
    0 Ts
    ( = mc)Tj
    5 Ts
    (2)Tj
    0 Ts
    (by Smedley)Tj
    5 Ts
    (TM)Tj
    0 Ts
    ET

. . . lub znacznie gorzej, jeśli twój znak wodny jest wzmocniony kolorem!

Po tym wszystkim zauważę, że PDFtk ma wersję GUI, która ma obsługiwać znaki wodne, biorąc pod uwagę opłatę licencyjną w wysokości 4 USD. W ogóle nie drogo!

Z drugiej strony uważam, że jej strona internetowa obecnie reklamuje pełne wsparcie dla O / S poprzez Windows 8i OS X 10.8 Mountain Lion. Ten rocznik ma ponad 4 lata temu. Czy PDFtk może być przestarzały? Podejrzewam, że nie, ale nie wiem.

Der Schley
źródło
Dziękuję za zalecenie PDFtk, wygląda schludnie, ale tak też „pachnie” nieco głośno. Darmowa wersja to 2.02, a Wikipedia mówi, że rzeczywiście została wydana 3 lata temu: en.wikipedia.org/wiki/PDFtk
Apache
1
@Shiki - właściwie przeprowadziłem poważne badania formatów PDF, ale zrzuciłem moją szczegółową ocenę postępów PDF w ciągu ostatnich 10 lat. Oto podsumowanie: „Niedobory 3- letniej wersji PDFtk w świetle rozwoju specyfikacji PDF”. Chociaż wprowadzono kilka aktualizacji od, powiedzmy, 2005 roku, _prawda będzie _PDFtk_ z dużym prawdopodobieństwem ._ Mówię to po sprawdzeniu niektórych powszechnie dostępnych, nowoczesnych źródeł dokumentów PDF. Wszystkie PDF Docs Sprawdziłem zostały stworzone do pre-2010 standardy PDF ( również wcześniej, w rzeczywistości). Jeśli masz jakiekolwiek wątpliwości, należy sprawdzić top kilkadziesiąt bajtów pliku PDF w pytaniu.
Der Schley,
0

Oto bezpłatne i płatne sposoby zrobienia tego. Sugeruję korzystanie z Dysku Google.

Dysk Google ma możliwość otwierania plików i przeprowadzania drobnych edycji. Można go również użyć do usunięcia znaku wodnego z pliku PDF online.

  1. Otwórz swoje konto na Dysku Google, które jest zasadniczo takie samo jak konto Gmail.
  2. Kliknij „Nowy”> „Przesyłanie pliku”, wybierz dokument PDF, a następnie prześlij go.
  3. Po zakończeniu możesz sprawdzić przesłany plik na Dysku, a następnie kliknąć go prawym przyciskiem myszy, aby otworzyć go w „Dokumentach Google”.
  4. Następnie znak wodny zostanie automatycznie usunięty. Aby go zapisać, przejdź do „Plik” i kliknij „Pobierz jako”, a następnie wybierz „Dokument PDF”.
Crystal Wang
źródło