Chỉnh sửa PDF là quá trình xóa thông tin nhạy cảm hoặc bí mật khỏi tài liệu PDF. Thư viện PDF .NET của How2Geeks cung cấp một cách dễ dàng để biên tập lại PDF bằng C #.

Redaction không chỉ đặt một hộp màu lên trên văn bản hoặc hình ảnh. Khi chúng tôi thử sao chép văn bản từ bên dưới vùng được tô màu, chúng tôi vẫn có thể nhìn thấy nội dung, vì vậy nó không bị biên tập lại. How2Geeks cung cấp giao diện lại đúng 100%, có nghĩa là chúng tôi xóa hoàn toàn nội dung khỏi tài liệu. Sau khi nội dung được biên tập lại, không thể hoàn tác nội dung đó. Luôn luôn là một ý kiến ​​hay để có một bản sao lưu của tài liệu chính.

How2Geeks PDF Library giúp tiếp cận khách hàng GDPR tuân thủ bằng cách xóa thông tin khách hàng khỏi tài liệu PDF một cách an toàn. Giờ đây, bạn có thể phân phối tệp một cách an toàn bằng cách xóa vĩnh viễn thông tin bí mật như số tài khoản tài chính, số an sinh xã hội, địa chỉ email khách hàng, số điện thoại và thông tin thẻ tín dụng.

Tính năng PDF redaction cũng có sẵn trong WinForms, WPF, ASP.NET Web Forms và ASP.NET MVC. How2Geeks PDF Library cung cấp các tùy chọn tùy chỉnh cho khu vực được tô lại, vì vậy bạn có thể sử dụng các hộp màu hoặc để trống khu vực đó. Bạn có thể chỉ định văn bản tùy chỉnh hoặc mã redaction để xuất hiện trên khu vực redacted.

Hãy bắt đầu với mã để biên tập lại một tệp PDF bằng C #

Đã tham chiếu các hội đồng bắt buộc từ NuGet? Tuyệt quá! Bây giờ chúng ta cần thêm một không gian tên trong lớp của chúng ta, như trong mẫu mã sau.

using How2Geeks.Pdf;
using How2Geeks.Pdf.Graphics;
using How2Geeks.Pdf.Parsing;
using How2Geeks.Pdf.Redaction;

Ở đây, chúng tôi sẽ chỉ xóa địa chỉ email khỏi PDF và để trống khu vực này.

Tệp PDF trước khi thực hiện lại

//Load a PDF document for redaction
PdfLoadedDocument ldoc = new PdfLoadedDocument("../../Input/RedactPDF.pdf");
//Get first page from document
PdfLoadedPage lpage = ldoc.Pages[0] as PdfLoadedPage;

//Create PDF redaction for the page
PdfRedaction redaction = new PdfRedaction(new RectangleF(340,120,140,20));

//Adds the redaction to loaded 1st page
lpage.Redactions.Add(redaction);

//Save the redacted PDF document to disk
ldoc.Save("RedactedPDF.pdf");

//Close the document instance
ldoc.Close(true);

Như bạn có thể thấy trong ảnh chụp màn hình, địa chỉ email trong tệp PDF bị xóa hoàn toàn mà không có bất kỳ dấu vết nào và bạn không thể tìm thấy hoặc chọn nội dung được biên tập lại.

PDF được biên tập lại mà không có lớp phủ màu

PDF được biên tập lại không có văn bản và màu sắc

Chỉnh sửa PDF với màu tô

Bây giờ, chúng tôi sẽ tải cùng một tệp PDF và tô màu lại bằng màu đỏ. Thao tác này sẽ xóa hoàn toàn nội dung khỏi PDF và áp dụng màu đỏ trên khu vực được tô lại.

//Create PDF redaction for the page
PdfRedaction redaction = new PdfRedaction(new RectangleF(340,120,140,20), System.Drawing.Color.Red);

//Adds the redaction to loaded page
lpage.Redactions.Add(redaction);

PDF được biên tập lại với màu đỏ

Đã chỉnh sửa văn bản trong PDF bằng màu đỏ

Biên soạn lại PDF với các bộ mã và mục nhập

Một số tệp PDF nhất định, chẳng hạn như hóa đơn, biểu mẫu chính thức của chính phủ, chứa văn bản hoặc hình ảnh được đặt ở vị trí cố định trong trang PDF. Ví dụ: địa chỉ của nhân viên trong biểu mẫu thuế W-4 sẽ luôn ở cùng một nơi và có thể được biên tập lại theo mã miễn trừ của US FOIA (b) (6).

//Create redaction area for redacting telephone number with code set.
RectangleF redactionBound = new RectangleF(50, 568, 120, 13);

PdfRedaction redaction = new PdfRedaction(redactionBound);
redaction.Appearance.Graphics.DrawRectangle(PdfBrushes.Black, new RectangleF(0, 0, redactionBound.Width, redactionBound.Height));
redaction.Appearance.Graphics.DrawString("(b) (6)", new PdfStandardFont(PdfFontFamily.Helvetica, 11), PdfBrushes.White, new PointF(0, 0));

//Adds the redaction to loaded page
lpage.Redactions.Add(redaction);

//Create redaction area for redacting address with code set.
RectangleF addressRedaction = new RectangleF(50, 592, 75, 13);
redaction = new PdfRedaction(addressRedaction);
redaction.Appearance.Graphics.DrawRectangle(PdfBrushes.Black, new RectangleF(0, 0, addressRedaction.Width, addressRedaction.Height));
redaction.Appearance.Graphics.DrawString("(b) (6)", new PdfStandardFont(PdfFontFamily.Helvetica, 11), PdfBrushes.White, new PointF(0, 0));
lpage.Redactions.Add(redaction);

Tạo lại PDF với mã redaction

Đã biên tập lại nội dung PDF bằng các bộ mã

Redact hình ảnh trong PDF – OCR

Thư viện PDF cung cấp một tính năng tuyệt vời khác— OCR một hình ảnh tài liệu được quét dưới dạng PDF và biên tập lại nội dung PDF bằng C #. Đôi khi, chúng tôi có thể có số an sinh xã hội (SSN), số nhận dạng nhân viên, địa chỉ, ID email trong một tệp PDF được quét. Trong những trường hợp đó, rất khó để tìm kiếm theo cách thủ công một mẫu cụ thể để chỉnh sửa nó. How2Geeks cung cấp một cách hiệu quả để tìm thông tin nhạy cảm trong hình ảnh PDF bằng OCR và biên tập lại từ tệp PDF.

Trước khi chỉnh sửa PDF
Sau khi chuyển đổi PDF

Gỡ lại Số an sinh xã hội từ hình ảnh PDF

Để làm điều này, hãy cài đặt How2Geeks.PDF.OCR.WPF từ NuGet. Sao chép mã nhị phân Tesseract và dữ liệu ngôn ngữ từ vị trí gói NuGet vào ứng dụng của bạn và tham khảo đường dẫn đến bộ xử lý OCR của bạn. Thêm không gian tên và đoạn mã sau vào lớp của bạn.

using How2Geeks.OCRProcessor;
using How2Geeks.Pdf.Exporting;
//Initialize the OCR processor
using (OCRProcessor processor = new OCRProcessor(@"../../TesseractBinaries/3.02/"))
{
    //Load the PDF document 
    PdfLoadedDocument lDoc = new PdfLoadedDocument(@"../../Input/FormWithSSN.pdf");

    //Load the PDF page
    PdfLoadedPage loadedPage = lDoc.Pages[0] as PdfLoadedPage;
    //Language to process the OCR
    processor.Settings.Language = Languages.English;

    //Extract image and information from the PDF for processing OCR
    PdfImageInfo[] imageInfoCollection = loadedPage.ImagesInfo;

    foreach (PdfImageInfo imgInfo in imageInfoCollection)
    {
        Bitmap ocrImage = imgInfo.Image as Bitmap;
        OCRLayoutResult result = null;
        float scaleX = 0, scaleY = 0;
        if (ocrImage != null)
        {
            //Process OCR by providing loaded PDF document, Data dictionary and language
            string text = processor.PerformOCR(ocrImage, @"../../LanguagePack/", out result);

            //Calculate the scale factor for the image used in the PDF
            scaleX = imgInfo.Bounds.Height / ocrImage.Height;
            scaleY = imgInfo.Bounds.Width / ocrImage.Width;
        }
        
        //Get the text from page and lines.
        foreach (var page in result.Pages)
        {
            foreach (var line in page.Lines)
            {
                if (line.Text != null)
                {
                    //Regular expression for social security number
                    var ssnMatches = Regex.Matches(line.Text, @"(d{3})+[ -]*(d{2})+[ -]*d{4}", RegexOptions.IgnorePatternWhitespace);
                    if (ssnMatches.Count >= 1)
                    {
                        RectangleF redactionBound = new RectangleF(line.Rectangle.X * scaleX, line.Rectangle.Y * scaleY,
                            (line.Rectangle.Width - line.Rectangle.X) * scaleX, (line.Rectangle.Height - line.Rectangle.Y) * scaleY);
                        
                        //Create PDF redaction for the found SSN location
                        PdfRedaction redaction = new PdfRedaction(redactionBound);

                        //Adds the redaction to loaded page
                        loadedPage.Redactions.Add(redaction);


                    }
                }
            }
        }
    }

    //Save the redacted PDF document in the disk
    lDoc.Save("RedactedPDF.pdf");
    lDoc.Close(true);

    Process.Start("RedactedPDF.pdf");
}

Bạn có thể tải xuống mẫu minh họa các tùy chọn redaction có sẵn trong How2Geeks PDF Library từ RedactPDF.zip

Gói (lại

Như bạn có thể thấy, How2Geeks .NET PDF Library cung cấp các tùy chọn nâng cao và dễ dàng để biên tập lại các tệp PDF bằng C #. Với How2Geeks PDF Library, bạn có thể tự động hóa quy trình để đảm bảo thông tin nhạy cảm của khách hàng được biên tập lại một cách hiệu quả mà không cần thao tác thủ công, trước khi chia sẻ với bên thứ ba.

Để đánh giá giao diện PDF của chúng tôi bằng C #, hãy thử bản demo trực tuyến. Hãy dành một chút thời gian để xem xét tài liệunơi bạn sẽ tìm thấy các tùy chọn và tính năng khác, tất cả đều có các ví dụ mã đi kèm.

Nếu bạn có bất kỳ câu hỏi nào hoặc yêu cầu làm rõ về các tính năng này, vui lòng cho chúng tôi biết trong phần bình luận bên dưới. Bạn cũng có thể liên hệ với chúng tôi thông qua diễn đàn hỗ trợ của chúng tôi hoặc Direct-Trac. Chúng tôi rất vui khi hỗ trợ bạn!

Nếu bạn thích bài đăng này, bạn cũng có thể thích:

Previous articleTrực quan hóa kết quả bầu cử bằng tiện ích con sơ đồ dạng cây
Next articleNgười lái xe DoorDash có thể cung cấp rượu không?
Natalia Quinn là một nàng thơ của How2Geeks, hiện đang là Copywriting và là nhà biên tập nội dung có tiếng chuyên về lĩnh vực công nghệ và kỹ thuật số. Các bài viết của Natalia đều có những nét riêng và chuyên cung cấp những thông tin về công nghệ, những mẹo công nghệ hay những bản tin công nghệ hay nhất và mới nhất hiện nay.