Phương thức THotPDF.RepairPDFUA2Structure

Sửa các khiếm khuyết không gian tên, thuộc tính, cấu trúc và khả năng truy cập PDF/UA-2 có thể khôi phục bên trong một giao dịch đồ thị sao chép khi ghi và xác thực đồ thị ứng viên trước khi cam kết

Khai báo

function RepairPDFUA2Structure(
  const Options: THPDFUA2RepairOptions;
  out Report: THPDFUA2RepairReport;
  out Issues: THPDFUA2ValidationIssues): boolean; overload;

function RepairPDFUA2Structure(
  const Options: THPDFUA2RepairOptions;
  out Report: THPDFUA2RepairReport;
  out Issues: THPDFUA2ValidationIssues;
  out Findings: THPDFComplianceFindings): boolean; overload;

Đơn vị

HPDFDoc

Tùy chọn sửa

Bắt đầu với THPDFUA2RepairOptions.Default và chỉ ghi đè các quyết định chính sách được yêu cầu bởi quy trình đầu vào

TrườngMục đích
NormalizeDuplicateNamespacesXây dựng lại StructTreeRoot/Namespaces với một từ điển gián tiếp chuẩn cho mỗi URI và từ chối các ánh xạ vai trò xung đột
RegisterReferencedNamespacesĐăng ký các từ điển không gian tên hợp lệ được tham chiếu bởi các phần tử cấu trúc, thuộc tính hoặc ánh xạ vai trò nhận biết không gian tên
RepairStandardStructureNamespacesGán không gian tên PDF 2.0 cho các vai trò chuẩn khi không gian tên thiếu hoặc không hợp lệ và luôn chuẩn hóa Document cấp cao nhất
RepairAttributeNamespacesChuẩn hóa các tham chiếu không gian tên thuộc tính và gỡ bỏ các mục nhập không gian tên không hợp lệ khỏi các chủ sở hữu chuẩn
RepairAttributeRevisionsChuẩn hóa các số bản sửa đổi âm hoặc phân số và gỡ bỏ các mục nhập bản sửa đổi mồ côi khỏi các mảng thuộc tính
RepairListSemanticsChuẩn hóa việc đánh số, cờ tiếp tục, loại tiếp tục không hợp lệ và một chú thích đặt sai vị trí mà không bịa nội dung danh sách
RepairTableSemanticsChuẩn hóa các span và phạm vi không hợp lệ, gỡ bỏ các tham chiếu tiêu đề cục bộ bảng không hợp lệ và di chuyển một chú thích đặt sai vị trí
RepairRubyWarichuSequencesSắp xếp lại các con chỉ khi tập đa vai trò bắt buộc chính xác đã hiện diện
RepairPronunciationHintsGỡ bỏ các gợi ý bị gõ sai loại, cắt tỉa các tham chiếu từ điển không hợp lệ và chuẩn hóa các loại con PLS MIME nhúng
RepairMissingAlternateTextKhôi phục Alt bị thiếu cho Figure, Formula và Form từ một tiêu đề hiện có, văn bản mở rộng, văn bản trích xuất cùng MCID hoặc một dự phòng tường minh theo thứ tự đó
RepairLanguageInheritanceNâng một ngôn ngữ mặc định hợp lệ của gốc cấu trúc hoặc tường minh lên Catalog và gỡ bỏ các mục nhập ngôn ngữ cấp cấu trúc không hợp lệ hoặc thừa khi kế thừa không mơ hồ
RepairHeadingOrderĐánh số lại chỉ các khiếm khuyết tiêu đề đầu tiên và cấp bị bỏ qua trong khi giữ thứ tự tài liệu
RepairArtifactTaggingViết lại các thẻ nội dung được đánh dấu liên kết với một phần tử cấu trúc Artifact cho nội dung nhà sản xuất và trang đã nạp
AllowDocumentFragmentHeadingStartsĐặt lại ngữ cảnh tiêu đề bên trong mỗi DocumentFragment cho cả việc sửa và xác thực sau sửa
RollbackOnValidationFailureKhôi phục đồ thị gốc khi bất kỳ lỗi PDF/UA-2 nào còn lại sau khi sửa
CustomAttributeNamespaceURICung cấp không gian tên tường minh cho các chủ sở hữu thuộc tính tùy chỉnh có ngữ nghĩa không thể suy ra an toàn, với mặc định rỗng thất bại đóng
DefaultLanguageCung cấp một thẻ ngôn ngữ BCP-47 chỉ khi cả Catalog lẫn gốc cấu trúc không chứa ngôn ngữ hợp lệ
FallbackAlternateTextCung cấp văn bản thay thế do bên gọi xem xét sau khi mọi nguồn dẫn xuất từ tài liệu thất bại, với mặc định rỗng không bao giờ bịa mô tả
MaxGeneratedAlternateTextCharactersGiới hạn trích xuất văn bản cùng MCID và mặc định là 4.096 đơn vị mã UTF-16
MaxObjectsGiới hạn quét đồ thị đối tượng và mặc định là 1.000.000 đối tượng
MaxRepairsGiới hạn các thay đổi được giữ lại và mặc định là 100.000 thao tác sửa

Báo cáo sửa

THPDFUA2RepairReport báo cáo liệu đồ thị đã thay đổi hay quay lui, liệu một giới hạn bị vượt quá, trạng thái xác thực sau sửa, đối tượng đã kiểm tra, lỗi còn lại và số lượng cho mọi họ sửa bao gồm văn bản thay thế, mục nhập ngôn ngữ, cấp tiêu đề và thẻ Artifact

UnresolvedAlternateTextCount, UnresolvedLanguageCount và UnresolvedArtifactCount phân biệt các ngữ nghĩa vẫn cần xem xét của tác giả với các thay đổi tự động

Mảng THPDFUA2ValidationIssues được trả về chứa các chẩn đoán sau sửa khi xác thực thất bại và các chẩn đoán ổn định riêng cho việc sửa khi một giới hạn tài nguyên hoặc ánh xạ vai trò trùng lặp xung đột hủy bỏ giao dịch

Overload chi tiết cũng trả về các phát hiện trước sửa được chú thích là crsApplied, crsUnresolved, crsRolledBack hoặc crsFailed, cùng các tóm tắt đếm cho mỗi họ sửa

Overload nguồn gốc này thực hiện một lượt xác thực trước sửa có giới hạn bổ sung; dùng overload ba đầu ra hiện có khi chỉ cần báo cáo cuối cùng và các vấn đề

Tính nguyên tử và an toàn

Ví dụ

var
  Options: THPDFUA2RepairOptions;
  Report: THPDFUA2RepairReport;
  Issues: THPDFUA2ValidationIssues;
begin
  Options := THPDFUA2RepairOptions.Default;
  Options.DefaultLanguage := 'en-US';
  Options.CustomAttributeNamespaceURI :=
    'https://example.com/ns/accessibility-attributes';
  if not PDF.RepairPDFUA2Structure(Options, Report, Issues) then
    raise Exception.CreateFmt('%s at %s',
      [String(Issues[0].Code), String(Issues[0].Path)]);
end;

API liên quan