Componentes principais
- TPdf - Componente principal de gestão de documentos PDF para abrir, navegar, extrair texto e editar documentos PDF
- TPdfView - Componente visual para apresentar e interagir com páginas PDF
- TPdfReadingSession - Componente de orquestração de leitura em voz alta para motores TTS do anfitrião e acompanhamento de palavras em TPdfView
- TPdfThumbnailView - Painel lateral rolável de miniaturas para navegação por páginas
Operações de documento
- Carregamento de documentos - Carregue ficheiros PDF a partir do disco, fluxos de memória, arrays de bytes ou adaptadores
TStreama pedido através deLoadCustomDocument. O PDFium lê blocos a pedido para que documentos com vários GB e origens remotas / suportadas por base de dados não precisem de uma cópia prévia em memória- Proteção por palavra-passe - Abra documentos PDF protegidos por palavra-passe e devolva
UserPermissionsefetivas para a sessão autenticada- Criação de documentos - Construa novos documentos PDF de raiz com
CreateDocument,AddPage,AddText,AddImage,AddPicture,AddJpegImageeCreatePath- Guardar documentos - Guarde documentos modificados com várias opções (incremental, remover segurança) e versões de destino explícitas de PDF 1.0 até PDF 1.7
- Saída PDF/A-1b -
SaveAsPdfA/SaveAsPdfAToStreampós-processam o guardado base com uma atualização incremental que injeta um fluxo de metadados XMP, um OutputIntent ICC sRGB e um catálogo de documento atualizado, para que o resultado fique conforme com PDF/A-1b. Perfis ICC personalizados são suportados através deTPdfASaveOptions.IccProfileData- Validação PDF/A -
ValidatePdfAe a propriedade só de leituraPdfAConformanceanalisam um documento aberto em busca de marcadores XMPpdfaid, OutputIntent com ICC incorporado e presença de encriptação, e devolvem o nível de conformidade (pac1a,pac1b,pac2b,pac3b,pacNoneoupacUnknown) mais uma lista de entradasTPdfAValidationIssuea descrever cada problema encontrado- Validador de conformidade com a versão PDF - Quando o SaveAs aponta para PDF 1.0 até PDF 1.7, o writer rejeita qualquer entrada de dicionário, filtro, subtipo de anotação, tipo de ação, fonte, espaço de cor ou parâmetro de encriptação introduzido após a versão de destino escolhida, por exemplo JBIG2Decode, MarkInfo, OutputIntents, AES / AES-256, anotações Polygon / Caret / Watermark / Redact e ações JavaScript / Trans / SetState
- Compressão de fluxos - A compressão automática FlateDecode garante que todos os fluxos PDF ficam otimizadamente comprimidos ao guardar; defina
Compressed := Falsepara optar por sair nos pipelines de depuração- Junção de documentos - Importe páginas de outros documentos PDF
- Importação de subconjunto de páginas -
ImportPagesByIndexcopia uma matriz de índices explícita, baseada em zero, a partir de um documento de origem, com InsertAt = 0 para inserir antes da página 1 ou InsertAt = PageCount para acrescentar. Passe uma matriz de índices vazia para importar todas as páginas de origem- Composição N-up -
ImportNPagesToOnedevolve umTPdftotalmente novo cujas páginas são composições NumX×NumY das páginas do documento de origem, dimensionadas em unidades de utilizador PDF (1 unidade = 1/72 in)- Reordenação de páginas -
MovePagesreordena páginas no local usando uma matriz de índices baseada em zero e um índice de destino para a primeira página movida- Reutilização de páginas com Form XObject -
CreateXObjectFromPagecria um identificador reutilizávelTPdfXObjecta partir de qualquer página de outro documento;InsertFormObjectFromXObjectinsere UMA cópia da página encapsulada na página atual. Ideal para marcas de água, sobreposições de modelos e fluxos de trabalho de "carimbar uma página em muitas". O objeto de página de destino pode ser posicionado, escalado e rodado através deFPDFPageObj_SetMatrixe dos auxiliaresTPdfMatrix- Gestão de páginas - Adicione, elimine e manipule páginas individuais;
AddPage(0, ...)insere a primeira página e ativa-a de imediato- Caixas de página - Leia e escreva MediaBox, CropBox, BleedBox, TrimBox e ArtBox na página atual
- Idioma do catálogo - Leia e escreva o idioma do documento guardado na entrada /Lang do catálogo
- IDs de ficheiro do trailer - Leia entradas /ID permanentes e mutáveis do trailer como bytes binários
- Ações JavaScript do documento - Enumere nomes de ações da árvore de nomes JavaScript ao nível do documento e os respetivos scripts
- Árvore de estrutura Tagged PDF - Inspecione elementos de estrutura lógica, texto de acessibilidade, idioma, IDs de conteúdo marcado e hierarquia para páginas Tagged PDF
- Preferências do visualizador - Leia
PrintCopies,PrintPageRanges,PrintScalingePrintPaperHandlingdo dicionário de preferências do visualizador do documento; os PDFs guardados usam por defeito uma ação de abertura da primeira página ajustada à altura
Operações de texto
- Extração de texto - Extraia texto de páginas PDF com precisão ao nível do caractere através de
Text,TextInRectangle,Characterindexado,CharacterRectangleeCharacterOrigin- Unidades de leitura ao nível da frase - TPdf.ReadingUnits, TPdf.DocumentReadingUnits, TPdfView.ReadingUnits e BuildReadingUnits expõem registos TPdfReadingUnit do tamanho de frases para leitura em voz alta sincronizada
- Realce de leitura ao nível da palavra -
TPdf.PageWordBoxes,TPdfView.PageWordBoxes,BuildWordBoxes,WordBoxIndexAtCharIndex,TPdfView.SelectWordBox,TPdfView.SelectWordSpan,TPdfView.TrackReadingWordAt,TPdfView.SetReadingWord,TPdfView.ClearReadingWord,ReadingWordColoreReadingWordFollowmapeiam um deslocamento de caractere na página para oTPdfWordBoxque o contém, destacam-no e devolvem o índice da palavra; destacam umTPdfWordBoxcomo a palavra atualmente falada em TPdfView; limpam a sobreposição do cursor de leitura ao nível da palavra em TPdfView; controlam a cor da sobreposição usada para o cursor de leitura ao nível da palavra; controlam se TPdfView faz scroll da palavra atualmente falada para a tornar visível enquanto acompanha a leitura- Orquestração de sessão de leitura em voz alta -
TPdfReadingSession,TPdfSpokenText,SpokenTextAppend,BuildSpokenTextFromWords,SpokenToPageChareEstimateSpokenWordIndexcoordenam motores TTS do anfitrião, blocos falados, callbacks de posição das palavras, ritmo estimado, gestão de pausa / retoma e atualizações do cursor de palavras em TPdfView- Pesquisa de texto - Encontre texto com opções de pesquisa sensível a maiúsculas, palavra inteira e consecutiva usando
FindFirst,FindNexteFindPrevious- Sobreposição de realce da pesquisa -
TPdfView.HighlightSearchTextanalisa a página de visualização atual e pinta, em cada redesenho, uma sobreposição real com alfa deHighlightColorsobre cada correspondência, devolvendo a contagem de correspondências.ClearHighlightremove a sobreposição; ao navegar para outra página, ela é limpa automaticamente porque as correspondências são específicas da página.HighlightColortem por predefiniçãoclYellowe é publicado para que as aplicações lhe possam aplicar tema- Propriedades dos caracteres - Aceda ao tamanho da fonte, peso, ângulo e posicionamento de caracteres individuais através das propriedades indexadas
CharacterAngle,CharacterFontSize,CharacterFontWeight,CharacterGenerated,CharacterIsHypheneCharacterMapError- Suporte a caracteres europeus -
AddTextcarrega e faz cache automaticamente da fonte TrueType do sistema correspondente antes de criar um objeto de texto, para que caracteres acentuados em checo, francês, alemão, espanhol, português, polaco e turco que as fontes padrão incorporadas do PDFium não conseguem representar passem a ser apresentados corretamente sem qualquer 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 objetos de texto - Defina posições por caractere para objetos de texto existentes através de
SetTextPositionseTPdfSingleArray- Informações de fonte - Obtenha propriedades da fonte, incluindo nome da família, estado 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ções - Suporte para texto, link, realce, sublinhado, rasurado e muitos outros tipos de anotação
- Criação de anotações - Crie novas anotações por programação
- Edição de anotações - Modifique propriedades de anotações existentes, incluindo cor, transparência e conteúdo
- Anotações de link - Trate ligações internas e externas com suporte a ações
Suporte a formulários
- Acessores de preenchimento de formulários por voz - FocusedFormFieldValue, FocusedFormFieldName e FocusedFormFieldDetails em TPdf e TPdfView expõem o valor, o nome e o TPdfFormFieldInfo do campo lógico de formulário atual para preenchimento por teclado ou voz
- Tipos de formulários - Suporte para formulários AcroForm e XFA
- Preenchimento de formulários - Preenchimento interativo de formulários com suporte a JavaScript
- Seleção da DLL V8 - Defina
EnableV8Engineantes de carregar para usarpdfium.v8.dlla partir da pasta correspondenteDLLs\Win32ouDLLs\Win64e consulte a disponibilidade dos auxiliares V8/XFA através deV8FeaturesAvailable,XfaBStrHelpersAvailableeGetRecommendedV8Flags- Acesso a campos - Leia e escreva valores de campos de formulário por índice ou posição
- Informações de campos - Aceda ao tipo do campo, flags, nome e outras propriedades
- Flags de campos - Atualize flags de campos AcroForm por índice ou posição através de
SetFormFieldFlags/SetFormFieldFlagsAt, incluindo flags read-only, required, password e multi-select- Achatamento de formulários -
GenerateFormAppearancesregenera o fluxo de aparência /AP para cada widget de formulário em cada página, eFlattenPage/FlattenAllPagestransformam anotações e campos de formulário em conteúdo estático da página, sem edição- Seleção de texto do widget de formulário e Desfazer / Refazer - No widget AcroForm com foco, a vista expõe
GetSelectedFormText(texto atualmente selecionado),SelectAllFormText(selecionar cada caractere) eFormUndo/FormRedo/FormCanUndo/FormCanRedo(controlam o histórico de edição por widget do PDFium). Os seis métodos saem em segurança quando a vista está inativa ou nenhum widget está focado
Operações de imagem
- Extração de imagens - Extraia bitmaps de páginas PDF com a propriedade indexada
Bitmap; percorraBitmapCountpara guardar cada imagem no disco- Inserção de JPEG -
AddJpegImagerecebe umTStreamde bytes JPEG brutos e incorpora a imagem como um XObject /DCTDecode sem reencodificação- Suporte a Picture -
AddPictureaceita um objetoTPicturecom conversão automática de formato através das classes gráficas VCL/LCL registadas- Inserção direta de imagens -
AddImage(FileName)reconhece qualquer formato registado com as unidades gráficas VCL ou LCL (BMP, PNG via PngImage, JPG, ...) e partilha a mesma linha de processamento do AddPicture.AddImage(TBitmap)salta o intermediárioTPicture, o que simplifica os chamadores que já têm umTBitmapvindo de renderização ou geração em lote- Perfil ICC da imagem - Os objetos de página de imagem expõem os dados do perfil ICC incorporado quando presentes, com binding para
FPDFImageObj_GetIccProfileDataDecoded- Geração de miniaturas - Gere bitmaps de miniatura da página atual através da 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 cancelamento a partir da IU, um singleton reutilizávelPdfNoCancellationTokene um auxiliar leveTPdfFuture<T>que executa um worker numa thread em segundo plano e publica um envelopeTPdfFutureResult<T>de volta para a thread principal, distinguindo casos de sucesso, cancelamento e falha- Adaptador de fluxo -
TPdfStreamAdapterliga umTStreamPascal aos callbacksFPDF_FILEACCESSdo PDFium para queLoadCustomDocumentleia blocos a pedido em vez de colocar o PDF inteiro na memória- Composição de matrizes -
FPdfMatrixenvolveFS_MATRIXdo PDFium com uma API OO paraTranslate,Scale,Rotate,HorizontalFlip,VerticalFlip,CentralFlip,SkeweMultiply.Multiplyfaz snapshot dos seis elementos da matriz antes de calcular os novos valores da linha, evitando a armadilha da implementação alternativa em Pascal em que elementos anteriores são sobrescritos durante a mesma chamada e produzem composições incorretas- Renderização progressiva cancelável -
TPdf.RenderPageProgressiveconduz o cicloFPDF_RenderPageBitmap_Start+RenderPage_Continuedo PDFium e faz polling de umIPdfCancellationTokenentre iterações através do callbackIFSDK_PAUSE, para que renderizações longas em alta DPI possam ser interrompidas a meio da página em vez de bloquearem até concluir. Devolve umTPdfProgressiveStatusdeprsDone,prsCancelledouprsFailed- Caminho de renderização sem cópia -
RenderPage/RenderTile/RenderPageProgressiveescrevem a saída do PDFium diretamente no buffer DIB doTBitmapde destino em vez de passar por um buffer interno, poupando uma cópia de memória de width × height × 4 bytes por renderização, mais visível em DPI alto, como painéis de miniaturas, exportação com qualidade de impressão e exportação em lote. Mantém-se um caminho alternativo por scanline 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 os pixels 32-bit do TBitmap renderizado para vistas invertidas, a cinzento ou de dois tons para baixa visão
- Visualização em baixa visão em tempo real -
TPdfView.OptionssuportareInvertereNightDuotone, comNightDuotoneInkeNightDuotonePapera controlar a paleta noturna em tempo real antes de serem pintadas as sobreposições
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 contorno - Configure o modo de preenchimento, cores, transparência e propriedades de contorno
- Modos de mistura - Suporte para vários modos de mistura PDF
- Estilos de linha - Configure a terminação da linha, a junção de linha e a largura do traço
Assinaturas digitais
- Deteção de assinaturas - Detete e enumere assinaturas digitais em documentos PDF
- Informações de assinatura - Aceda ao conteúdo da assinatura, intervalo de bytes, sub-filter, motivo e hora
- Permissões MDP - Consulte as permissões de deteção e prevenção de modificação do documento
Suporte a anexos
- Acesso a anexos - Leia, crie, modifique e elimine anexos de ficheiros incorporados
- Nomes de anexos - Aceda aos nomes de ficheiros dos anexos
- Tipos de anexos - Leia os valores do subtipo MIME do ficheiro incorporado quando presentes
- Marcadores - Navegue pelos marcadores do documento com suporte hierárquico através da matriz
Bookmarks,BookmarkChildren,HasBookmarkChildrene dos auxiliares de travessiaBookmarkFrom- Destinos nomeados - Aceda a destinos nomeados por índice ou nome através de
Destination,DestinationByNameeDestinationCount- Etiquetas de página - Obtenha as etiquetas de página de cada página através de
PageLabel; útil quando os documentos usam algarismos romanos para a matéria introdutória- Ligações Web - Detete e navegue por ligações web nas páginas com
WebLink,WebLinkCounteTPdfView.WebLinkAtPos- Anotações de link - Aceda a anotações de link com informação de ação e destino através de
LinkAnnotation,LinkAnnotationCounteTPdfView.LinkAnnotationAtPos- Tratamento seguro de cliques em links - TPdfView dispara eventos
OnAnnotationLinkClick/OnWebLinkClickantes de qualquer tratamento automático goto / URI, com ações de lançamento desativadas por defeito. A deteção de clique em links só é executada quando o gesto é um clique e não um arrastar, usando uma âncora MouseDown nova para que os gestos de panorâmica continuem a seguir pelo caminho de scroll existente sem alterações
Renderização
- Renderização de alta qualidade - Renderize páginas para contexto de dispositivo, bitmap ou tile através de
RenderPage/RenderTile, com escritas diretas sem cópia no buffer DIB de destino- Renderização progressiva cancelável -
RenderPageProgressiveconduz o ciclo progressivo do PDFium e consulta umIPdfCancellationTokenentre iterações, devolvendoprsDone,prsCancelledouprsFailed. O bitmap mantém o trabalho parcial já feito quando é cancelado- Opções de renderização - otimização de texto LCD (
reLcd), anotações (reAnnotations), escala de cinzentos e flags de modo de impressão- Ganchos Skia - Estão disponíveis bindings de baixo nível para
FPDF_RenderPageSkiaeFPDF_FFLDrawSkiaquando os chamadores fornecem um SkCanvas externo, dependendo das exportações DLL incluídas- Seleção de modo de impressão - Defina modos de impressão PDFium EMF, apenas texto, PostScript, pass-through, image-mask e Type 42 através de
SetPdfPrintModecomTPdfPrintMode- Sobreposição assíncrona - TPdfView pode apresentar uma sobreposição de carregamento opcional enquanto workers pertencentes à aplicação renderizam com instâncias TPdf separadas
- Rotação de página - Suporte para rotação de 0, 90, 180 e 270 graus (
ro0,ro90,ro180,ro270)- Deteção de transparência - A propriedade
Transparentindica se algum objeto na página atual tem transparência, incluindo modos de mistura e alpha parcial
Visualização (TPdfView)
- Modos de apresentação -
dmSingleContinuous,dmTwoPageContinuousedmTwoPageContinuousWithCover(a página de capa fica isolada e depois continuam os spreads de duas páginas). O auxiliar ao nível da unidadeComputeSpreadPagesexpõe a matemática dos spreads sem instanciar um visualizador- Modo de ajuste -
FitModeescolhe como a página se posiciona na viewport:pfmNone(zoom manual),pfmActualSize(100%),pfmFitPage(a página inteira cabe na viewport) epfmFitWidth(a largura da página coincide com a largura da viewport). O modo de ajuste ativo é reaplicado automaticamente no Resize e quando a página atual muda; definir Zoom diretamente cancela o modo de ajuste ativo, comFitModea voltar parapfmNone, em linha com a convenção standard dos visualizadores PDF- Controlo de zoom - Zoom variável com auxiliares por página
PageZoom,PageWidthZoom,PageHeightZoomeActualSizeZoom- Cor da página -
PageColorsepara o fundo da página PDF renderizada daColordo controlo envolvente. O valor predefinido éclWhite, pelo que as páginas PDF passam a ser renderizadas em branco papel independentemente do tema da aplicação anfitriã. Visualizadores em modo escuro podem manter a área de scroll escura enquanto deixam a página PDF propriamente dita branca ou da cor escolhida pela aplicação- Seleção interativa de texto - O utilizador final pode arrastar para selecionar texto em páginas PDF, com o hit-test a alternar automaticamente entre seleção e panorâmica: clicar num caractere inicia um arrasto de seleção, clicar em espaço em branco faz panorâmica. O duplo clique seleciona a palavra, o triplo clique seleciona a linha,
Ctrl+Aseleciona a página, ambas as páginas no modo de spread,Ctrl+Ccopia comoCF_UNICODETEXT,Shift+setasexpandem a seleção, passar o rato sobre texto muda o cursor paracrIBeame arrastar até à margem do visualizador faz auto-scroll da página. NovosSelectionColoreOnSelectionChangepublicados; novosHasSelection,SelectedText,SelectionCharCount,ClearSelection,SelectAlleCopySelectionToClipboardpúblicos. Os modos de apresentação em spread selecionam nas duas páginas visíveis com junção CR/LF. É anexado automaticamente um popup Copy de clique direito por defeito quando o anfitrião não atribuiu o seu próprioPopupMenu. Controlado pela flagAllowUserTextSelectionda v1.17.0 para anfitriões em 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 devolvem umTPdfRectangle- Seleção de texto e hit-testing - Resolva os caracteres sob pontos do visualizador com
CharacterIndexAtPose desenhe realces de seleção de texto através dePaintSelection- Rato & teclado - Suporte completo a dispositivos de entrada com scroll por arrasto do rato, atalhos PgUp / PgDn / Ctrl+Home / Ctrl+End e navegação de página com roda para cima / para baixo. Ctrl+wheel fica reservado ao zoom da aplicação e é ignorado pelo manipulador de navegação
- Bloqueio de entrada do utilizador -
AllowUserPageChangecontrola os atalhos de página do teclado,ChangePageOnMouseScrollingcontrola os saltos de página com a roda eAllowUserTextSelectioncontrola a entrada de seleção de texto por rato / teclado. As três opções têm por defeito True; defina-as para False para bloquear quiosques, painéis de pré-visualização ou incorporações apenas de leitura sem recorrer a subclasses- Sobreposição assíncrona de renderização -
AsyncRendering,LoadingTexteLoadingColordesenham um pequeno indicador "Loading..." sobre a página renderizada para que aplicações que usam o seu próprio worker em renderizações longas partilhem uma indicação visual consistente. Os valores predefinidos preservam o comportamento existente.TPdfpassa agora a serializar, por instância, as chamadas de renderização e de descarregamento de páginas; as aplicações continuam responsáveis pela distribuição dos workers e devem evitar alterar um documento enquanto uma renderização está em curso- Tratamento seguro de cliques em links -
LinkOptionsé um conjunto publicado que controla o comportamento automático dos quatro tipos de ação de link PDF:loAutoGoto(salto de página),loAutoOpenURI(ShellExecute),loAutoLaunch(ShellExecute) eloAutoEmbeddedGoto(reservado). Os valores predefinidos ativam apenasloAutoGotoeloAutoOpenURI;loAutoLauncheloAutoEmbeddedGotopermanecem desligados para que um clique acidental 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, mais os auxiliares de seleção / Undo / Redo da v1.23.0
- Estilo visual -
PageShadowSize,PageShadowColorePageBorderColordesenham uma sombra opcional sob o retângulo da página e uma borda de um píxel à sua volta;SmoothScrollanima agora os comandos de scroll da barra em segmentos conduzidos por temporizador enquanto o arrasto do polegar continua imediato- Navegação por miniaturas -
TPdfThumbnailView(unidadeFPdfThumbnail) desenha uma miniatura de página por linha num painel lateral rolável com realce ao passar o rato e seleção, além de navegação por clique. Foi pensado para ficar ao lado de um TPdfView. Propriedades:CurrentPageIndex,ThumbnailWidth,ThumbnailHeight,TextColor,HoverColor,SelectionColor,BorderColor; evento:OnPageClick
Compressão
- Compressão automática - Quando a propriedade
Compressedé True, por defeito, garante-se ao guardar que todos os fluxos PDF ficam comprimidos com FlateDecode- Pós-processamento - O motor de compressão analisa os dados PDF guardados e comprime quaisquer fluxos não comprimidos usando a compressão máxima do zlib
- Reconstrução da cross-reference - Reconstrói automaticamente a tabela xref quando a compressão dos fluxos altera os offsets de bytes
- Sem overhead - Se todos os fluxos já estiverem comprimidos, os dados passam sem qualquer modificação
Segurança
- Suporte a palavra-passe - Abra documentos PDF protegidos por palavra-passe
- Permissões - Leia permissões do documento e do utilizador; a demo
SecurityAuditcombina permissões, anexos, JavaScript do documento, links URI / Launch, assinaturas, XFA e disponibilidade V8 numa superfície de risco apenas de leitura com gravação de relatórios TXT / JSON e ações de cópia TXT- Remoção de segurança - Guarde documentos com a segurança removida, quando autorizado
Impressão
- Modos de impressão - Escolha entre modos de impressão EMF, apenas texto, PostScript Level 2 / 3, PostScript pass-through, EMF image-mask e Type 42 através da função global
SetPdfPrintMode- Preferências do visualizador - Exponha a intenção do autor do documento através de
PrintCopies,PrintPageRanges(intervalos de páginas baseados em um),PrintScalingePrintPaperHandling;SetPdfPrintPaperHandlingDevModemapeia a dica duplex paraDEVMODE.dmDuplexdo Windows- Impressão N-up - As demos
PrintPreferencesde Delphi, C++Builder e Lazarus mostram composição de folhas N-up (1 / 2 / 4 / 9 páginas por folha) com filtragem de páginas ímpares / pares, renderização a cinzento, bordas de célula opcionais de 1 píxel, preferências de impressão do autor do PDF e mapeamento da intenção duplex através deSetPdfPrintPaperHandlingDevMode
Demos incluídas
As árvores
Demo\Delphi,Demo\CBuildereDemo\Lazarusincluem projetos de exemplo executáveis que exercitam a superfície real da API nas três famílias de IDE. Destaques:
- PDFViewer / MultiPageViewer / SplitView - Utilização completa de TPdfView: carregar, navegar, fazer zoom, rodar, spread de duas páginas, esquemas com capa e comparação lado a lado de PDF em Delphi / C++Builder / Lazarus com comandos sincronizados; as demos do visualizador são também testes práticos de velocidade para PDFs com vários gigabytes, onde documentos de 2.x GB podem atingir quase de imediato uma primeira vista utilizável enquanto a renderização da página continua responsiva
- ViewerInteractionLab - Amostras de interação TPdfView focadas em Delphi, C++Builder e Lazarus para modos de apresentação, modos de ajuste, cores de página, rotação, realce 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 - Amostras de fluxo de trabalho focadas em Delphi, Lazarus e C++Builder para listagem de resultados de pesquisa em todas as páginas, navegação para correspondência anterior / seguinte, salto por duplo clique,
HighlightSearchText, pesquisa sensível a maiúsculas / palavra inteira,AllowUserTextSelection,SelectedText,SelectAll,CopySelectionToClipboard,ClearSelectione modos de apresentação em spread- PreflightReport - Demos de fluxo de trabalho para Delphi, Lazarus e C++Builder, mais um acompanhante de consola Delphi, em torno de
FPdfPreflightReportreutilizável, reunindo resultados de validação PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R e PDF/VT em linhas de estado, prioridade, categoria do problema, contagens por categoria, resumos da próxima ação, recomendações, pré-visualização de texto / Markdown / JSON / CSV, relatórios TXT / HTML / Markdown / JSON / CSV, geração de relatórios por script, processamento de listas e diretórios com encaminhamento por diretório de relatório, resumos agregados TXT / JSON / HTML, manifestos CSV, incorporação opcional de anexos de relatório e códigos de saída para gate de CI- ContentExtractionLab - Fluxo de inventário de conteúdo unificado para Delphi, Lazarus e C++Builder para metadados do documento, texto da página, objetos da página, imagens, anexos, ligações, anotações, marcadores e métricas de fonte / caractere com exportação TXT / JSON, seleção de categorias todos / nenhum, gravação do PDF de origem e ações de cópia do relatório
- WatermarkStamp - Fluxo de trabalho reutilizável Form XObject para Delphi, Lazarus e C++Builder para marcas de água centradas, carimbos de canto e etiquetas de número de página em vários alvos PDF
- CreatePDF - Construa um PDF multipágina de raiz com texto, imagens, caminhos, tabelas e composição de marca de água; inclui uma opção «Texto Europeu» para escrever texto acentuado checo / francês / alemão / espanhol / português / polaco / turco, permitindo verificar a seleção de fontes e o tratamento Unicode
- ExtractText / ExtractImages / ContentExtractionLab - Guarde o texto extraído (incluindo saída separada por página) ou as imagens incorporadas no disco; ou gere, numa única passagem, um relatório de inventário de conteúdo com várias categorias
- FormFill - Leia metadados de campos AcroForm, escreva valores, regenere aparências /AP e guarde 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 ficheiro, caminho de saída opcional, registo de execução, botão de cancelamento e resumo de conclusão da fusão) ou divida um PDF em ficheiros de saída por página
- PDFtoJpg / BatchExport - Conversão de PDF para JPG em Delphi, C++Builder e Lazarus, em modo único ou em lote multi-ficheiro, com progresso global por ficheiro, progresso atual por página, entradas de DPI / qualidade / palavra-passe e um lote cancelável cooperativamente suportado por
IPdfCancellationToken- StandardsLab - Amostras de fluxo de trabalho para Delphi, C++Builder e Lazarus para validação PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R e PDF/VT, reporte de problemas e saídas de gravação orientadas para normas
- PrintPDF / PrintPreferences - Impressão PDF standard em Delphi, C++Builder e Lazarus com pré-visualização, intervalos de páginas, cópias, ordenação, progresso e cancelamento, mais composição de folhas N-up com filtragem ímpar / par e preferências de impressão do autor do PDF
- SecurityAudit - Amostras de superfície de risco apenas de leitura para Delphi, C++Builder e Lazarus para permissões, anexos, ações JavaScript, links URI / Launch, links web, assinaturas, estado XFA, disponibilidade de auxiliares V8 / XFA e relatórios de auditoria TXT / JSON
- Attachment - Crie PDFs, adicione / liste / extraia / elimine / guarde anexos de ficheiros incorporados com apresentação do subtipo MIME
- ImageToPDF - Conversão em lote de imagens para um PDF, uma imagem por página, com pré-visualização e progresso por imagem em Delphi, C++Builder e Lazarus
As suites de regressão de Delphi, C++Builder e Lazarus cobrem 147 casos (Pas) / 123 (C++) partilhando os mesmos PDFs de teste para que o comportamento permaneça alinhado byte a byte nas três famílias de IDE
Suporte de plataforma
- 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 para Free Pascal / Lazarus
- Win32 / Win64 - Ambas as plataformas Windows de 32 bits e 64 bits