Przejdź do treści stopki
PORóWNANIA PRODUKTóW

PDFsharp vs QuestPDF (C# Porównanie bibliotek PDF)

Wyobraź sobie adnotację jako przezroczystą nakładkę na stronie: komentarz na karteczce samoprzylepnej znajduje się na górze, podczas gdy dokument pod spodem pozostaje nietknięty. IronPDF zarządza tą warstwą poprzez kolekcję Annotations na PdfDocument, dodając, edytując i usuwając notatki, które są wyświetlane jako małe ikony i ujawniają pełny komentarz po kliknięciu. Ponieważ warstwa jest oddzielna od treści, edytowanie lub usunięcie notatki nie narusza wszystkich innych właściwości dokumentu, więc adnotacje pasują tam, gdzie oryginał musi pozostać nieskazitelny.

Przegląd dokumentu i znaczniki

Najczęściej stosowane są adnotacje. Narzędzie przeglądu przywiązuje opinię do konkretnych miejsc i zapisuje skomentowaną kopię dla kolejnej osoby, a oryginalna zawartość pozostaje niezmieniona:

using IronPdf;
using IronPdf.Annotations;

var pdf = PdfDocument.FromFile("draft.pdf");
pdf.Annotations.Add(new TextAnnotation(0)
{
    Title = "Reviewer",
    Contents = "Clarify this clause.",
    X = 50,
    Y = 700
});
pdf.SaveAs("draft-reviewed.pdf");
using IronPdf;
using IronPdf.Annotations;

var pdf = PdfDocument.FromFile("draft.pdf");
pdf.Annotations.Add(new TextAnnotation(0)
{
    Title = "Reviewer",
    Contents = "Clarify this clause.",
    X = 50,
    Y = 700
});
pdf.SaveAs("draft-reviewed.pdf");
Imports IronPdf
Imports IronPdf.Annotations

Dim pdf = PdfDocument.FromFile("draft.pdf")
pdf.Annotations.Add(New TextAnnotation(0) With {
    .Title = "Reviewer",
    .Contents = "Clarify this clause.",
    .X = 50,
    .Y = 700
})
pdf.SaveAs("draft-reviewed.pdf")
$vbLabelText   $csharpLabel

Współpraca nad umowami bez dotykania oryginału

Ponieważ warstwa adnotacji pozostaje odrębna od treści umowy, zespoły prawne mogą pozostawić notatki, które nigdy nie zmieniają wiążącego tekstu. To rozdzielenie ma znaczenie wszędzie tam, gdzie dokument musi pozostać niezmienny dla audytu lub podpisu.

Oznaczanie jakości w dokumentach technicznych

Automatyczna kontrola może umieścić umiejscowioną notatkę wszędzie tam, gdzie wykryje problem (brakującą figurę, wartość poza specyfikacją), dostarczając człowiekowi klikalną mapę problemów, a nie oddzielny raport.

Edytowanie przez cykl rewizyjny

Istniejące adnotacje można odzyskać i zaktualizować, gdy opinie się zmieniają lub notatki trzeba przenieść. To wspiera łańcuchy zatwierdzania, gdzie przełożony dokonuje poprawek w notatkach recenzenta przed zatwierdzeniem:

using System.Linq;

var pdf = PdfDocument.FromFile("draft-reviewed.pdf");
var note = (TextAnnotation)pdf.Annotations.First();
note.Contents = "Resolved in v2.";
note.X = 150;
pdf.SaveAs("draft-updated.pdf");
using System.Linq;

var pdf = PdfDocument.FromFile("draft-reviewed.pdf");
var note = (TextAnnotation)pdf.Annotations.First();
note.Contents = "Resolved in v2.";
note.X = 150;
pdf.SaveAs("draft-updated.pdf");
Imports System.Linq

Dim pdf = PdfDocument.FromFile("draft-reviewed.pdf")
Dim note = CType(pdf.Annotations.First(), TextAnnotation)
note.Contents = "Resolved in v2."
note.X = 150
pdf.SaveAs("draft-updated.pdf")
$vbLabelText   $csharpLabel

Porządkowanie przed dystrybucją

Usunięcie to osobny przypadek użycia. Usuń wewnętrzne lub nieaktualne komentarze przed wysłaniem dokumentu, aby opinie nigdy nie przedostały się na zewnątrz. Użyj RemoveAt dla jednej, RemoveAllAnnotationsForPage dla jednej strony, lub Clear dla całego dokumentu. To naturalnie pasuje do sanitizacji lub eksportu do PDF/A jako krok finalizacji.

Dwie rzeczy, które będą cię gryźć

Koordynaty PDF zaczynają się od lewego dolnego rogu, a nie od lewego górnego, którego używa większość interfejsów użytkownika, i są mierzone w punktach (1/72 cala); US Letter to 612 x 792, A4 to 595 x 842. Dopóki to nie uwzględnisz, adnotacje lądują w niewłaściwym miejscu.

Kolekcja adnotacji ponownie indeksuje się po każdym usunięciu. Aby usunąć kilka, pracuj od tyłu lub najpierw je zbierz i usuń w odwrotnej kolejności, inaczej usuniesz nie te co trzeba.

Do czego one są i do czego nie są przeznaczone

Udokumentowany typ to TextAnnotation, notka samoprzylepna, z właściwościami tytułu, treści, pozycji, strony, tematu, ikony i stanu otwarcia. To nie jest podkreślenie, tusz ani stempel. Przypasuj to do komentarza i przeglądu, zadań, które wykonuje dobrze, a nie do wizualnych znaczników, które nie twierdzi, że dokonuje.

Często Zadawane Pytania

Jak dodać adnotację tekstową do PDF w C# za pomocą IronPDF?

Użyj metody Annotations.Add na PdfDocument z obiektem TextAnnotation. Ustaw indeks strony, pozycję X/Y (w punktach PDF od dolnego lewego rogu), tytuł i właściwości zawartości.

Czy dodanie lub usunięcie adnotacji zmienia podstawową treść PDF?

Nie. Warstwa adnotacji jest oddzielona od treści dokumentu. Edytowanie lub usuwanie adnotacji pozostawia wszystkie inne właściwości dokumentu, tekst i obrazy nienaruszone.

Jak usunąć adnotacje z PDF przed jego dystrybucją?

Użyj RemoveAt(index), aby usunąć pojedynczą adnotację, RemoveAllAnnotationsForPage(pageIndex), aby wyczyścić stronę lub Annotations.Clear() do usunięcia wszystkich adnotacji z dokumentu.

Dlaczego moje adnotacje pojawiają się w złej pozycji?

Współrzędne PDF zaczynają się od dolnego lewego rogu, a nie lewego górnego rogu, który używa większość frameworków UI. Współrzędne są mierzone w punktach (1/72 cala). US Letter ma wymiary 612 x 792 punktów; A4 ma 595 x 842 punkty. Dostosuj swoje wartości X i Y odpowiednio.

Czy mogę zaktualizować tekst lub pozycję istniejącej adnotacji?

Tak. Pobierz adnotację z kolekcji Annotations, zkonwertuj ją na TextAnnotation i zaktualizuj jej Contents, X, Y lub inne właściwości przed zapisaniem dokumentu.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej

Zespół wsparcia Iron

Jesteśmy online 24 godziny, 5 dni w tygodniu.
Czat
E-mail
Zadzwoń do mnie