local write_pdf = require'luatagging-objectwriter' local write_pdf_utils = require'luatagging-objectwriter-utils' local escape_pdf = require'luatagging-pdf-escape' local function register(content: string, mime_type: write_pdf.Name, relationship: write_pdf.Name, name: string, unicode_name: string, description: string): write_pdf.Ref if name and not unicode_name then unicode_name = escape_pdf.to_pdf_encoding(name) end local stream = write_pdf_utils.stream(write_pdf.dict{ Subtype = mime_type, Params = write_pdf.dict{ ModDate = os.date'!D:%Y%m%d', }, }, content) return write_pdf_utils.indirect(write_pdf.dict { AFRelationship = relationship, Desc = description, F = name, UF = unicode_name, Type = write_pdf.names.Filespec, EF = write_pdf.dict { F = stream, UF = stream, }, }) end local record AFInterface register: function(content: string, mime_type: write_pdf.Name, relationship: write_pdf.Name, name: string, unicode_name: string, description: string): write_pdf.Ref end local api: AFInterface = { register = register, } return api