Componentes Principais
- TPdf - Componente principal de manipulação de documentos PDF para abertura, navegação, extração de texto e edição de documentos PDF
- TPdfView - Componente visual para exibição e interação com páginas PDF
- TPdfThumbnailView - Painel lateral rolável de miniaturas para navegação entre páginas
Operações com Documentos
- Carregamento de Documentos - Carregue arquivos PDF do disco, streams de memória, arrays de bytes ou adaptadores TStream sob demanda via
LoadCustomDocument. O PDFium lê blocos sob demanda, de modo que documentos de vários GB e fontes remotas / baseadas em banco de dados não precisam de uma cópia em memória antecipada.- Proteção por Senha - Abra documentos PDF protegidos por senha e informe as
UserPermissionsefetivas para a sessão autenticada- Criação de Documentos - Construa novos documentos PDF do zero com
CreateDocument,AddPage,AddText,AddImage,AddPicture,AddJpegImageeCreatePath- Salvamento de Documentos - Salve documentos modificados com várias opções (incremental, remoção de segurança) e versões de PDF de destino explícitas de PDF 1.0 a PDF 1.7
- Saída PDF/A-1b -
SaveAsPdfA/SaveAsPdfAToStreampós-processam o salvamento base com uma atualização incremental que injeta um stream de metadados XMP, um OutputIntent ICC sRGB e um Catalog de documento atualizado, de modo que o resultado seja compatível com PDF/A-1b. Perfis ICC personalizados são suportados através deTPdfASaveOptions.IccProfileData.- Validação de PDF/A -
ValidatePdfAe a propriedade somente leituraPdfAConformanceescaneiam um documento aberto em busca de marcadores XMPpdfaid, OutputIntent com ICC incorporado, presença de criptografia, e informam o nível de conformidade (pac1a,pac1b,pac2b,pac3b,pacNoneoupacUnknown) mais uma lista de entradasTPdfAValidationIssuedescrevendo cada problema encontrado- Validador de Conformidade de Versão do PDF - Quando SaveAs visa PDF 1.0 a PDF 1.7, o escritor rejeita qualquer entrada de dicionário, filtro, subtipo de anotação, tipo de ação, fonte, espaço de cor ou parâmetro de criptografia introduzido após a versão de destino escolhida (por exemplo, JBIG2Decode, MarkInfo, OutputIntents, AES / AES-256, anotações Polygon / Caret / Watermark / Redact, ações JavaScript / Trans / SetState)
- Compactação de Stream - Compactação FlateDecode automática garante que todos os streams PDF estejam idealmente compactados ao salvar; defina
Compressed := Falsepara desativar em pipelines de depuração- Mesclagem de Documentos - Importe páginas de outros documentos PDF
- Importação de Subconjunto de Páginas -
ImportPagesByIndexcopia um array explícito de índices baseado em zero de um documento de origem, com InsertAt = 0 para inserir antes da página 1 ou InsertAt = PageCount para anexar. Passe um array de índices vazio para importar todas as páginas de origem.- Composição N-up -
ImportNPagesToOneretorna um novoTPdfcujas páginas são compostos NumX×NumY das páginas do documento de origem, dimensionadas em unidades de usuário PDF (1 unidade = 1/72 pol)- Reordenação de Páginas -
MovePagesreordena páginas no local usando um array de índices baseado em zero e um índice de destino para a primeira página movida- Reutilização de Página via Form XObject -
CreateXObjectFromPagefabrica um handleTPdfXObjectreutilizável a partir de qualquer página de outro documento;InsertFormObjectFromXObjectinsere UMA cópia da página encapsulada na página atual. Ideal para marcas d'água, sobreposições de modelos e fluxos de trabalho do tipo "estampar uma página em várias". O objeto de página de destino pode ser posicionado, escalonado e rotacionado através deFPDFPageObj_SetMatrixe dos auxiliaresTPdfMatrix.- Gerenciamento de Páginas - Adicione, exclua e manipule páginas individuais;
AddPage(0, ...)insere a primeira página e a ativa imediatamente- Caixas de Página - Leia e escreva MediaBox, CropBox, BleedBox, TrimBox e ArtBox na página atual
- Idioma do Catalog - Leia e escreva o idioma do documento armazenado na entrada /Lang do Catalog
- IDs de Arquivo no Trailer - Leia as entradas /ID permanente e variável do trailer como bytes binários
- Ações JavaScript do Documento - Enumere nomes e scripts de ação JavaScript da árvore de nomes no nível do documento
- Árvore de Estrutura de Tagged PDF - Inspecione elementos de estrutura lógica, texto de acessibilidade, idioma, IDs de marked-content e hierarquia para páginas PDF tagged
- Preferências do Visualizador - Leia
PrintCopies,PrintPageRanges,PrintScalingePrintPaperHandlingdo dicionário de preferências do visualizador do documento; PDFs salvos têm como padrão uma ação de abertura Fit Height na primeira página
Operações de Texto
- Extração de Texto - Extraia texto de páginas PDF com precisão em nível de caractere via propriedades
Text,TextInRectangle,Characterindexado,CharacterRectangleeCharacterOrigin- Unidades de leitura por sentença - TPdf.ReadingUnits, TPdf.DocumentReadingUnits, TPdfView.ReadingUnits e BuildReadingUnits expõem registros TPdfReadingUnit do tamanho de sentenças para escuta TTS sincronizada
- Realce de leitura palavra por palavra -
TPdf.PageWordBoxes,TPdfView.PageWordBoxes,BuildWordBoxes,WordBoxIndexAtCharIndex,TPdfView.SelectWordBox,TPdfView.SelectWordSpan,TPdfView.TrackReadingWordAt,TPdfView.SetReadingWord,TPdfView.ClearReadingWord,ReadingWordColor,ReadingWordFollowMapeia um deslocamento de caractere da página para o TPdfWordBox que o contém, realça a palavra e retorna o índice; Realça um TPdfWordBox como a palavra falada atual em TPdfView; Limpa a sobreposição do cursor de leitura palavra por palavra atual em TPdfView; Controla a cor da sobreposição usada pelo cursor de leitura palavra por palavra atual; Controla se TPdfView rola a palavra falada atual para a área visível durante o acompanhamento da leitura- Orquestração de Sessão de Leitura em Voz Alta -
TPdfReadingSession,TPdfSpokenText,SpokenTextAppend,BuildSpokenTextFromWords,SpokenToPageChareEstimateSpokenWordIndexcoordenam motores TTS do host, blocos falados, callbacks de posição de palavra, ritmo estimado, pausa e retomada, e atualizações do cursor de palavra emTPdfView- Pesquisa de Texto - Encontre texto com opções de pesquisa sensível a maiúsculas, palavra inteira e consecutiva usando
FindFirst,FindNext,FindPrevious- Sobreposição de Destaque de Pesquisa -
TPdfView.HighlightSearchTextescaneia a página atual da visualização e pinta uma sobreposiçãoHighlightColorreal com mistura alfa sobre cada correspondência a cada redesenho, retornando o número de correspondências.ClearHighlightremove a sobreposição; navegar para uma página diferente a limpa automaticamente porque as correspondências são específicas da página.HighlightColortem o padrãoclYellowe é publicado para que aplicações possam tematizá-lo.- Propriedades de Caractere - Acesse tamanho de fonte, peso, ângulo e posicionamento para caracteres individuais com as propriedades indexadas
CharacterAngle,CharacterFontSize,CharacterFontWeight,CharacterGenerated,CharacterIsHypheneCharacterMapError- Suporte a Caracteres Europeus -
AddTextcarrega e armazena em cache automaticamente a fonte TrueType do sistema correspondente antes de criar um objeto de texto, de modo que caracteres acentuados do tcheco, francês, alemão, espanhol, português, polonês e turco que as fontes padrão internas do PDFium não conseguem representar agora sejam renderizados corretamente sem nenhuma alteração de código- Adição de Texto - Adicione novo texto a páginas PDF com fontes, cores, transparência e rotação personalizadas
- Posicionamento de Objeto de Texto - Defina posições por caractere para objetos de texto existentes através de
SetTextPositionseTPdfSingleArray- Informações de Fonte - Recupere propriedades de fonte incluindo nome da família, status de incorporação, ângulo itálico, ascent / descent e dados brutos da fonte por objeto de página
Suporte a Anotações
- Tipos de Anotação - Suporte para texto, link, destaque, sublinhado, tachado e muitos outros tipos de anotação
- Criação de Anotação - Crie novas anotações programaticamente
- Edição de Anotação - Modifique propriedades de anotações existentes incluindo cor, transparência e conteúdo
- Anotações de Link - Manipule links internos e externos com suporte a ações
Suporte a Formulários
- Acessores para preenchimento de formulários por voz - FocusedFormFieldValue, FocusedFormFieldName e FocusedFormFieldDetails em TPdf e TPdfView expõem valor, nome e TPdfFormFieldInfo do campo lógico atual para preenchimento de formulários por teclado ou voz
- Tipos de Formulário - Suporte para formulários AcroForm e XFA
- Preenchimento de Formulário - Preenchimento interativo de formulários com suporte a JavaScript
- Seleção de DLL V8 - Defina
EnableV8Engineantes de carregar para usarpdfium.v8.dllda pastaDLLs\Win32ouDLLs\Win64correspondente e consulte a disponibilidade de auxiliares V8/XFA viaV8FeaturesAvailable,XfaBStrHelpersAvailableeGetRecommendedV8Flags- Acesso a Campos - Leia e escreva valores de campos de formulário por índice ou posição
- Informações de Campo - Acesse tipo de campo, flags, nome e outras propriedades
- Flags de Campo - Atualize flags de campos AcroForm por índice ou posição através de
SetFormFieldFlags/SetFormFieldFlagsAt, incluindo flags de somente leitura, obrigatório, senha e multisseleção- Achatamento de Formulário -
GenerateFormAppearancesregenera o stream de aparência /AP para cada widget de formulário em cada página, eFlattenPage/FlattenAllPagesgrava anotações e campos de formulário no conteúdo estático da página (não editável)- Seleção de Texto em Widget de Formulário e Desfazer / Refazer - No widget AcroForm em foco, a visualização expõe
GetSelectedFormText(texto atualmente selecionado),SelectAllFormText(selecionar todos os caracteres) eFormUndo/FormRedo/FormCanUndo/FormCanRedo(controlam o histórico de edição por widget do PDFium). Todos os seis fazem curto-circuito de forma segura quando a visualização está inativa ou nenhum widget está em foco.
Operações de Imagem
- Extração de Imagens - Extraia bitmaps de páginas PDF com a propriedade indexada
Bitmap; itereBitmapCountpara salvar cada imagem em disco- Inserção de JPEG -
AddJpegImagerecebe um TStream de bytes JPEG brutos e incorpora a imagem como um XObject /DCTDecode sem recodificação- Suporte a Picture -
AddPictureaceita um objetoTPicturecom conversão automática de formato através das classes gráficas VCL/LCL registradas- Inserção Direta de Imagem -
AddImage(FileName)reconhece qualquer formato registrado com as unidades de gráficos VCL ou LCL (BMP, PNG via PngImage, JPG, ...) e compartilha o pipeline AddPicture.AddImage(TBitmap)pula o intermediário TPicture, o que simplifica chamadores que já possuem um TBitmap do trabalho de renderização ou geração em lote.- Perfil ICC de Imagem - Objetos de página de imagem expõem seus dados de perfil ICC incorporados quando presentes (binding para
FPDFImageObj_GetIccProfileDataDecoded)- Geração de Miniaturas - Gere bitmaps de miniatura da página atual via a propriedade
Thumbnailou renderize qualquer página baseada em um através deTPdf.RenderPageThumbnailsem alterarPageNumber
Unidades Auxiliares
- Infraestrutura Assíncrona -
FPdfAsyncexpõeIPdfCancellationToken/IPdfCancellationTokenSourcepara semântica cooperativa de cancelar a partir da UI, um singleton reutilizávelPdfNoCancellationTokene um auxiliar leveTPdfFuture<T>que executa um worker em uma thread de trabalho em segundo plano e envia um envelopeTPdfFutureResult<T>de volta para a thread principal, distinguindo casos de sucesso, cancelamento e falha- Adaptador de Stream -
TPdfStreamAdapterfaz a ponte entre umTStreamPascal e os callbacksFPDF_FILEACCESSdo PDFium para queLoadCustomDocumentleia blocos sob demanda em vez de armazenar todo o PDF em memória- Composição de Matriz -
FPdfMatrixencapsula aFS_MATRIXdo PDFium com uma API OO paraTranslate,Scale,Rotate,HorizontalFlip,VerticalFlip,CentralFlip,SkeweMultiply.Multiplycaptura um snapshot dos seis elementos da matriz antes de computar os novos valores de linha, evitando a armadilha de implementações Pascal alternativas onde elementos anteriores são sobrescritos durante a mesma chamada e produzem composições incorretas.- Renderização Progressiva Cancelável -
TPdf.RenderPageProgressivecontrola o loopFPDF_RenderPageBitmap_Start+RenderPage_Continuedo PDFium e consulta umIPdfCancellationTokenentre iterações via o callbackIFSDK_PAUSE, de modo que renderizações longas em alto DPI possam ser abortadas no meio da página em vez de bloquear até a conclusão. Retorna umTPdfProgressiveStatusdeprsDone,prsCancelledouprsFailed.- Caminho de Renderização Zero-Copy -
RenderPage/RenderTile/RenderPageProgressivegravam a saída do PDFium diretamente no buffer DIB doTBitmapde destino em vez de passar por um buffer interno, economizando uma cópia de memória de largura × altura × 4 bytes por renderização - mais perceptível em alto DPI (painéis de miniaturas, exportação com qualidade de impressão, exportação em lote). Um caminho de fallback por linha de varredura é preservado quando o DIB de destino não pode ser encapsulado com segurança.- Transformações de bitmap para baixa visão - InvertPdfBitmap, GrayscalePdfBitmap e DuotonePdfBitmap transformam no local pixels TBitmap de 32 bits renderizados para visualizações invertidas, cinza ou bicolores de baixa visão
- Visualização Noturna de Baixa Visão -
TPdfView.OptionssuportareInvertereNightDuotone, comNightDuotoneInkeNightDuotonePapercontrolando a paleta noturna ao vivo antes de as sobreposições serem desenhadas
Operações de Desenho
- Desenho de Caminhos - Crie caminhos com linhas, curvas de Bezier e formas fechadas
- Remoção de Objetos - Remova objetos de página e regenere o conteúdo da página a partir de TPdf ou TPdfView
- Preenchimento e Traço - Configure modo de preenchimento, cores, transparência e propriedades de traço
- Modos de Mistura - Suporte para vários modos de mistura PDF
- Estilos de Linha - Configure cap de linha, junção de linha e largura de traço
Assinaturas Digitais
- Detecção de Assinatura - Detecte e enumere assinaturas digitais em documentos PDF
- Informações de Assinatura - Acesse conteúdo da assinatura, intervalo de bytes, subfiltro, motivo e horário
- Permissões MDP - Consulte permissões de detecção e prevenção de modificação do documento
Suporte a Anexos
- Acesso a Anexos - Leia, crie, modifique e exclua anexos de arquivos incorporados
- Nomes de Anexos - Acesse nomes de arquivos de anexos
- Tipos de Anexos - Leia valores de subtipo MIME de arquivos incorporados quando presentes
- Favoritos - Navegue pelos favoritos do documento com suporte hierárquico via o array
Bookmarks,BookmarkChildren,HasBookmarkChildrene os auxiliares de travessiaBookmarkFrom- Destinos Nomeados - Acesse destinos nomeados por índice ou nome através de
Destination,DestinationByNameeDestinationCount- Rótulos de Página - Recupere rótulos de página para cada página via
PageLabel; útil quando documentos usam algarismos romanos para o prefácio- Links da Web - Detecte e navegue por links da web em páginas com
WebLink,WebLinkCounteTPdfView.WebLinkAtPos- Anotações de Link - Acesse anotações de link com informações de ação e destino através de
LinkAnnotation,LinkAnnotationCounteTPdfView.LinkAnnotationAtPos- Manipulação Segura de Cliques em Links - O TPdfView dispara eventos
OnAnnotationLinkClick/OnWebLinkClickantes do tratamento automático de goto / URI, com ações de launch desabilitadas por padrão. A detecção de clique em link é executada apenas quando o gesto é um clique em vez de um arrasto, usando uma nova âncora MouseDown, de modo que gestos de panorâmica ainda fluam pelo caminho de rolagem existente inalterados.
Renderização
- Renderização de Alta Qualidade - Renderize páginas para contexto de dispositivo, bitmap ou tile através de
RenderPage/RenderTile, com gravações diretas zero-copy no buffer DIB de destino- Renderização Progressiva Cancelável -
RenderPageProgressivecontrola o loop progressivo do PDFium e consulta umIPdfCancellationTokenentre iterações, retornandoprsDone,prsCancelledouprsFailed. O bitmap mantém o trabalho parcial feito até o momento quando cancelado.- Opções de Renderização - Otimização de texto LCD (
reLcd), anotações (reAnnotations), tons de cinza e flags de modo de impressão- Hooks do Skia - Os bindings de baixo nível
FPDF_RenderPageSkiaeFPDF_FFLDrawSkiaestão disponíveis quando os chamadores fornecem um SkCanvas externo (depende das exportações da DLL incluída)- Seleção de Modo de Impressão - Defina modos de impressão PDFium EMF, somente texto, PostScript, pass-through, máscara de imagem e Type 42 via
SetPdfPrintModecomTPdfPrintMode- Sobreposição Assíncrona - O TPdfView pode exibir uma sobreposição de carregamento opt-in enquanto workers de propriedade da aplicação renderizam com instâncias separadas de TPdf
- Rotação de Página - Suporte para rotação de 0, 90, 180 e 270 graus (
ro0,ro90,ro180,ro270)- Detecção de Transparência - A propriedade
Transparentinforma se algum objeto na página atual tem transparência, incluindo modos de mistura e alfa parcial
Visualização (TPdfView)
- Modos de Exibição -
dmSingleContinuous,dmTwoPageContinuousedmTwoPageContinuousWithCover(a página de capa fica sozinha, depois continua com layouts de duas páginas). O auxiliar de nível de unitComputeSpreadPagesexpõe a matemática de páginas em layout sem instanciar um visualizador.- Modo de Ajuste -
FitModeescolhe como a página se ajusta na viewport:pfmNone(zoom manual),pfmActualSize(100%),pfmFitPage(página inteira cabe na viewport) epfmFitWidth(largura da página corresponde à largura da viewport). O modo de ajuste ativo é reaplicado automaticamente em Resize e quando a página atual muda; definir Zoom diretamente cancela o modo de ajuste ativo (FitMode reverte parapfmNone), correspondendo à convenção padrão de visualizadores PDF.- Controle de Zoom - Zoom variável com auxiliares por página
PageZoom,PageWidthZoom,PageHeightZoomeActualSizeZoom- Cor da Página -
PageColordesacopla o fundo da página PDF renderizada da corColordo controle ao redor. O padrão éclWhite, de modo que páginas PDF agora são renderizadas como branco-papel independentemente do tema da aplicação hospedeira. Visualizadores em modo escuro podem manter a área de rolagem escura enquanto deixam a página PDF real branca (ou qualquer cor que a aplicação escolher).- Seleção Interativa de Texto - Seleção de texto por arrasto do usuário final em páginas PDF, com hit-test alternando automaticamente entre seleção e panorâmica: clicar em um caractere inicia um arrasto de seleção, clicar em espaço em branco faz panorâmica. Clique duplo seleciona a palavra, clique triplo seleciona a linha,
Ctrl+Aseleciona a página (ambas as páginas no modo de layout),Ctrl+Ccopia comoCF_UNICODETEXT,Shift+setasestende a seleção, passar o mouse sobre texto alterna o cursor paracrIBeam, e arrastar até a borda do visualizador rola a página automaticamente. NovosSelectionColorpublicado eOnSelectionChange; novos públicosHasSelection,SelectedText,SelectionCharCount,ClearSelection,SelectAll,CopySelectionToClipboard. Modos de exibição em layout selecionam entre as duas páginas visíveis com união CR/LF. Um popup padrão de Copiar com botão direito é anexado automaticamente quando o hospedeiro não atribuiu seu próprioPopupMenu. Controlado pela flag v1.17.0AllowUserTextSelectionpara hosts de quiosque.- Mapeamento de Coordenadas - Converta entre coordenadas de dispositivo do visualizador e coordenadas de página PDF com
DeviceToPage/PageToDevice, incluindo overloads que recebem umTRecte retornam umTPdfRectangle- Seleção de Texto e Teste de Acerto - Resolva caracteres sob pontos do visualizador com
CharacterIndexAtPose pinte destaques de seleção de texto viaPaintSelection- Mouse e Teclado - Suporte completo a dispositivos de entrada com rolagem por arrasto do mouse, atalhos PgUp / PgDn / Ctrl+Home / Ctrl+End e navegação de página com roda para cima / roda para baixo. Ctrl+roda é reservado para zoom da aplicação e ignorado pelo manipulador de navegação.
- Bloqueio de Entrada do Usuário -
AllowUserPageChangecontrola atalhos de teclado de página,ChangePageOnMouseScrollingcontrola saltos de página da roda, eAllowUserTextSelectioncontrola a entrada de seleção de texto via mouse / teclado. Todos os três têm o padrão True; defina como False para bloquear quiosques, painéis de visualização ou incorporações somente leitura sem fazer subclasse.- Sobreposição de Renderização Assíncrona -
AsyncRendering,LoadingTexteLoadingColordesenham um pequeno indicador "Loading..." sobre a página renderizada, de modo que aplicações usando seu próprio worker para renderizações longas compartilhem uma affordance visual consistente. Os padrões preservam o comportamento existente. OTPdfagora serializa chamadas de renderização e descarregamento de página por instância; aplicações ainda são proprietárias do despacho de worker e devem evitar mutar um documento enquanto uma renderização está em andamento.- Manipulação Segura de Cliques em Links -
LinkOptionsé um conjunto publicado que controla o comportamento automático para os quatro tipos de ação de link PDF:loAutoGoto(salto de página),loAutoOpenURI(ShellExecute),loAutoLaunch(ShellExecute) eloAutoEmbeddedGoto(reservado). Os padrões habilitam apenasloAutoGotoeloAutoOpenURI;loAutoLauncheloAutoEmbeddedGotopermanecem desativados para que um clique perdido não possa executar um programa arbitrário.OnAnnotationLinkClickeOnWebLinkClickdisparam antes de qualquer ação automática e permitem que a aplicação marque o evento como Handled ou o redirecione.- Interação com Formulários - Edição interativa de formulários dentro do visualizador, além dos auxiliares v1.23.0 de seleção / Desfazer / Refazer
- Estilo Visual -
PageShadowSize,PageShadowColorePageBorderColorpintam uma sombra projetada opcional sob o retângulo da página e uma borda de um pixel ao seu redor;SmoothScrollagora anima comandos de barra de rolagem de linha/página em segmentos controlados por timer enquanto o rastreamento do thumb permanece imediato- Navegação por Miniaturas -
TPdfThumbnailView(unitFPdfThumbnail) renderiza uma miniatura de página por linha em um painel lateral rolável com destaque de hover e seleção, mais navegação por clique. Projetado para ficar ao lado de um TPdfView. Propriedades:CurrentPageIndex,ThumbnailWidth,ThumbnailHeight,TextColor,HoverColor,SelectionColor,BorderColor; evento:OnPageClick.
Compactação
- Compactação Automática - Quando a propriedade
Compressedé True (padrão), todos os streams PDF são garantidamente compactados com FlateDecode ao salvar- Pós-Processamento - O motor de compactação escaneia os dados PDF salvos e compacta quaisquer streams não compactados usando compactação máxima zlib
- Reconstrução de Referência Cruzada - Reconstrói automaticamente a tabela xref quando a compactação de stream altera os offsets de byte
- Zero Sobrecarga - Se todos os streams já estiverem compactados, os dados passam sem modificação
Segurança
- Suporte a Senha - Abra documentos PDF protegidos por senha
- Permissões - Leia permissões do documento e do usuário; a demo
SecurityAuditcombina permissões, anexos, JavaScript do documento, links URI / Launch, assinaturas, XFA e disponibilidade de V8 em uma superfície de risco somente leitura com ações de salvamento de relatório TXT / JSON e cópia TXT- Remoção de Segurança - Salve documentos com segurança removida (quando autorizado)
Impressão
- Modos de Impressão - Escolha entre modos de impressão EMF, somente texto, PostScript Nível 2 / 3, PostScript pass-through, máscara de imagem EMF e Type 42 através da função global
SetPdfPrintMode- Preferências do Visualizador - Mostre a intenção do autor do documento através de
PrintCopies,PrintPageRanges(intervalos de página baseados em um),PrintScalingePrintPaperHandling;SetPdfPrintPaperHandlingDevModemapeia a dica de duplex noDEVMODE.dmDuplexdo Windows- Impressão N-up - As demos
PrintPreferencesem Delphi, C++Builder e Lazarus mostram composição de folha N-up (1 / 2 / 4 / 9 páginas por folha) com filtragem de páginas ímpares / pares, renderização em tons de cinza, bordas opcionais de células de 1 pixel, preferências de impressão do autor do PDF e mapeamento de intenção duplex viaSetPdfPrintPaperHandlingDevMode
Demos Inclusos
As árvores
Demo\Delphi,Demo\CBuildereDemo\Lazarustrazem projetos de exemplo executáveis que exercitam a superfície ativa da API em todas as três famílias de IDE. Destaques:
- PDFViewer / MultiPageViewer / SplitView - Uso completo do TPdfView: carregar, navegar, zoom, rotacionar, layout de duas páginas, leiautes com capa, e comparação lado a lado de PDFs em Delphi / C++Builder / Lazarus com comandos sincronizados; as demos do visualizador também são testes práticos de velocidade para PDFs multigigabyte, onde documentos de 2,x GB podem alcançar uma primeira visualização utilizável quase imediatamente enquanto a renderização da página permanece responsiva
- ViewerInteractionLab - Exemplos focados de interação com TPdfView em Delphi, C++Builder e Lazarus para modos de exibição, modos de ajuste, cores de página, rotação, destaque de pesquisa, seleção de texto, pré-visualização de texto selecionado, ações de área de transferência e feedback de coordenadas DeviceToPage
- SearchAndSelect - Exemplos focados de fluxo de trabalho em Delphi, Lazarus e C++Builder para listagem de resultados de pesquisa em todas as páginas, navegação anterior / próximo, salto de resultado por clique duplo,
HighlightSearchText, pesquisa por correspondência de maiúsculas / palavra inteira,AllowUserTextSelection,SelectedText,SelectAll,CopySelectionToClipboard,ClearSelectione modos de exibição em layout- PreflightReport - Demos de fluxo de trabalho em Delphi, Lazarus e C++Builder mais um companheiro de console Delphi em torno do reutilizável
FPdfPreflightReport, coletando resultados de validação de PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R e PDF/VT em linhas de resumo de status, prioridade, categoria de problema, contagens por categoria de problema, próximas ações, recomendações de problemas, prévia de texto / Markdown / JSON / CSV, relatórios TXT / HTML / Markdown / JSON / CSV, geração de relatório por script, processamento em lote de lista e diretório com roteamento de diretório de relatório, resumos agregados TXT / JSON / HTML, manifestos de linhas CSV, incorporação opcional de anexo de relatório e códigos de saída para gating de CI- ContentExtractionLab - Fluxo de trabalho unificado de inventário de conteúdo em Delphi, Lazarus e C++Builder para metadados do documento, texto de página, objetos de página, imagens, anexos, links, anotações, favoritos e métricas de fonte / caractere com exportação TXT / JSON, seleção de categoria todas / nenhuma, salvamento do PDF de origem e ações de cópia de relatório
- WatermarkStamp - Fluxo de trabalho reutilizável de Form XObject em Delphi, Lazarus e C++Builder para marcas d'água centralizadas, carimbos de canto e rótulos de número de página em um PDF de destino com várias páginas
- CreatePDF - Construa um PDF com várias páginas do zero com texto, imagens, caminhos, tabelas e composição de marca d'água; inclui uma opção de 'Texto Europeu' para escrever texto acentuado em tcheco / francês / alemão / espanhol / português / polonês / turco, verificando a seleção de fontes e o tratamento de Unicode
- ExtractText / ExtractImages / ContentExtractionLab - Salve texto extraído (incluindo saída separada por página) ou imagens incorporadas em disco, ou gere um relatório de inventário de conteúdo multicategoria em uma única passagem
- FormFill - Leia metadados de campo AcroForm, escreva valores, regenere aparências /AP e salve o resultado editável ou achatado
- FontProperties - Inspecione metadados indexados de caractere / fonte através de TPdf e TPdfView em Delphi, C++Builder e Lazarus
- MergePDF / SplitPDF - Combine vários PDFs de origem (com seleção de intervalo de páginas por arquivo, caminho de saída opcional, registro de execução, botão de cancelar e resumo de conclusão da mesclagem) ou divida um PDF em arquivos de saída por página
- PDFtoJpg / BatchExport - Conversão de PDF para JPG em uma única operação ou em lote multiarquivo em Delphi, C++Builder e Lazarus com progresso geral por arquivo, progresso atual por página, entradas de DPI / qualidade / senha e um lote cancelável cooperativamente apoiado por
IPdfCancellationToken- StandardsLab - Exemplos de fluxo de trabalho em Delphi, C++Builder e Lazarus para validação de PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R e PDF/VT, relatório de problemas e saídas de salvamento orientadas a padrões
- PrintPDF / PrintPreferences - Impressão padrão de PDF em Delphi, C++Builder e Lazarus com pré-visualização, intervalos de páginas, cópias, agrupamento, progresso e cancelamento (PrintPDF), além de composição de folha N-up em Delphi, C++Builder e Lazarus com filtragem ímpar / par e preferências de impressão do autor do PDF (PrintPreferences)
- SecurityAudit - Exemplos de superfície de risco somente leitura em Delphi, C++Builder e Lazarus para permissões, anexos, ações JavaScript, links URI / Launch, links da web, assinaturas, estado XFA, disponibilidade de auxiliar V8 / XFA e relatórios de auditoria TXT / JSON
- Attachment - Crie PDFs, adicione / liste / extraia / exclua / salve anexos de arquivos incorporados com exibição de subtipo MIME
- ImageToPDF - Conversão em lote de imagens em um PDF em Delphi, C++Builder e Lazarus, uma imagem por página, com pré-visualização e progresso por imagem
Os conjuntos de regressão em Delphi, C++Builder e Lazarus cobrem 147 (Pas) / 123 (C++) casos compartilhando os mesmos PDFs de fixture para que o comportamento permaneça byte-alinhado em todas as três famílias de IDE.
Suporte a Plataformas
- Delphi - Delphi XE5 (RAD Studio XE5) até Delphi 13.1 Florence (RAD Studio 13.1)
- C++Builder - C++Builder XE5 (RAD Studio XE5) até C++Builder 13.1 Florence
- Lazarus - Suporte a Free Pascal / Lazarus
- Win32 / Win64 - Plataformas Windows de 32 e 64 bits