property ModifiedDate: WString; // somente leitura
ModifiedDate retorna a entrada /ModDate do dicionário de Informações
do documento (seção 14.3.3 da especificação do PDF 1.7) como o literal de data bruto do
PDF. O PDF armazena o carimbo de data e hora como uma string de data literal formatada
como D:YYYYMMDDHHmmSSOHH'mm' — por exemplo,
D:20260514103015+08'00' significa 14 de maio de 2026 10:30:15 em
UTC+08:00. O prefixo D: e o apóstrofo final fazem parte da sintaxe
literal (seção 7.9.4 da especificação do PDF 1.7)
A string fica vazia quando Active é False, quando o
dicionário Info do documento está ausente, ou quando nenhum /ModDate foi
gravado. Produtores atualizam esta entrada a cada gravação / atualização incremental;
comparar ModifiedDate com CreationDate é uma forma rápida de detectar
se o arquivo foi editado desde a renderização original
O valor retornado é o literal bruto, não um TDateTime analisado. Remova
o prefixo D:, o fuso horário opcional e o apóstrofo final antes de chamar
EncodeDateTime; alternativamente use uma expressão regular que capture
(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})([+-Z])(\d{2})'(\d{2})'
+08'00') — não a forma com dois pontos que o ISO-8601 usaD: — o formato ordena corretamente
por comparação léxica até e incluindo o campo de segundos
var Raw: WString;
Raw := Pdf1.ModifiedDate;
if Raw <> '' then
begin
// e.g. "D:20260514103015+08'00'"
Memo1.Lines.Add('Last modified: ' + Raw);
end;