FF-2000: Created PDF plugin

This commit is contained in:
John Andrews
2025-01-21 07:56:32 +13:00
parent 6ada3fb9f5
commit 56ba920a2d
24 changed files with 916 additions and 0 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+6
View File
@@ -45,6 +45,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Docker", "Docker\Docker.csp
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Reseller", "Reseller\Reseller.csproj", "{AB24139B-9B44-47EA-829A-954CFFC23A65}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pdf", "Pdf\Pdf.csproj", "{4E968B9E-7B02-4F2B-BA99-F671C9336F0D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -135,6 +137,10 @@ Global
{AB24139B-9B44-47EA-829A-954CFFC23A65}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AB24139B-9B44-47EA-829A-954CFFC23A65}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AB24139B-9B44-47EA-829A-954CFFC23A65}.Release|Any CPU.Build.0 = Release|Any CPU
{4E968B9E-7B02-4F2B-BA99-F671C9336F0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4E968B9E-7B02-4F2B-BA99-F671C9336F0D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4E968B9E-7B02-4F2B-BA99-F671C9336F0D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4E968B9E-7B02-4F2B-BA99-F671C9336F0D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
+51
View File
@@ -0,0 +1,51 @@
namespace FileFlows.Pdf.FlowElements;
/// <summary>
/// A flow element that tests if a PDF contains the specified text
/// </summary>
public class PdfContainsText : Node
{
/// <inheritdoc />
public override int Inputs => 1;
/// <inheritdoc />
public override int Outputs => 2;
/// <inheritdoc />
public override FlowElementType Type => FlowElementType.Logic;
/// <inheritdoc />
public override string Icon => "fas fa-file-pdf";
/// <inheritdoc />
public override string HelpUrl => "https://fileflows.com/docs/plugins/pdf/pdf-contains-text";
/// <inheritdoc />
public override string Group => "PDF";
/// <summary>
/// Gets or sets the text to check for
/// </summary>
[Required]
[TextVariable(1)]
public string Text { get; set; } = null!;
/// <inheritdoc />
public override int Execute(NodeParameters args)
{
var fileResult = args.FileService.GetLocalPath(args.WorkingFile);
if (fileResult.Failed(out var error))
return args.Fail("Failed to get local file: " + error);
var file = fileResult.Value;
var text = args.ReplaceVariables(Text);
args.Logger?.ILog("Checking if PDF contains text: " + text);
var containsResult = args.PdfHelper.ContainsText(file, text);
if(containsResult.Failed(out error))
return args.Fail("Failed to get contains text: " + error);
if (containsResult.Value == false)
{
args.Logger?.ILog("PDF does not contain the text: " + text);
return 2;
}
args.Logger?.ILog("PDF contains the text: " + text);
return 1;
}
}
+51
View File
@@ -0,0 +1,51 @@
namespace FileFlows.Pdf.FlowElements;
/// <summary>
/// A flow element that tests if a PDF matches the specified text
/// </summary>
public class PdfMatchesText : Node
{
/// <inheritdoc />
public override int Inputs => 1;
/// <inheritdoc />
public override int Outputs => 2;
/// <inheritdoc />
public override FlowElementType Type => FlowElementType.Logic;
/// <inheritdoc />
public override string Icon => "fas fa-file-pdf";
/// <inheritdoc />
public override string HelpUrl => "https://fileflows.com/docs/plugins/pdf/pdf-matches-text";
/// <inheritdoc />
public override string Group => "PDF";
/// <summary>
/// Gets or sets the text to check for
/// </summary>
[Required]
[TextVariable(1)]
public string Text { get; set; } = null!;
/// <inheritdoc />
public override int Execute(NodeParameters args)
{
var fileResult = args.FileService.GetLocalPath(args.WorkingFile);
if (fileResult.Failed(out var error))
return args.Fail("Failed to get local file: " + error);
var file = fileResult.Value;
var text = args.ReplaceVariables(Text);
args.Logger?.ILog("Checking if PDF match text: " + text);
var matchResult = args.PdfHelper.MatchesText(file, text);
if(matchResult.Failed(out error))
return args.Fail("Failed to find match text: " + error);
if (matchResult.Value == false)
{
args.Logger?.ILog("PDF does not match the text: " + text);
return 2;
}
args.Logger?.ILog("PDF match the text: " + text);
return 1;
}
}
+58
View File
@@ -0,0 +1,58 @@
namespace FileFlows.Pdf.FlowElements;
/// <summary>
/// A flow element that extracts the text of a PDF to a file
/// </summary>
public class PdfToTextFile : Node
{
/// <inheritdoc />
public override int Inputs => 1;
/// <inheritdoc />
public override int Outputs => 2;
/// <inheritdoc />
public override FlowElementType Type => FlowElementType.Logic;
/// <inheritdoc />
public override string Icon => "fas fa-file-pdf";
/// <inheritdoc />
public override string HelpUrl => "https://fileflows.com/docs/plugins/pdf/pdf-to-text-file";
/// <inheritdoc />
public override string Group => "PDF";
/// <summary>
/// Gets or sets the output text location
/// </summary>
[TextVariable(1)]
[Required]
public string File { get; set; } = null!;
/// <inheritdoc />
public override int Execute(NodeParameters args)
{
var fileResult = args.FileService.GetLocalPath(args.WorkingFile);
if (fileResult.Failed(out var error))
return args.Fail("Failed to get local file: " + error);
var file = fileResult.Value;
var output = args.ReplaceVariables(File);
args.Logger?.ILog("Extracting PDF to file: " + output);
var result = args.PdfHelper.ExtractText(file);
if (result.Failed(out error))
return args.Fail("Failed to extract text: " + error);
var text = result.Value;
if (string.IsNullOrWhiteSpace(text))
{
args.Logger?.ILog("No text found in PDF file");
return 2;
}
args.FileService.FileDelete(file);
var writeResult = args.FileService.FileAppendAllText(file, text);
if (writeResult.Failed(out error))
return args.Fail("Failed to write text to file: " + error);
args.Logger?.ILog("Saved PDF text to file: " + file);
args.SetWorkingFile(file);
return 1;
}
}
+6
View File
@@ -0,0 +1,6 @@
global using System;
global using System.Text;
global using System.ComponentModel.DataAnnotations;
global using FileFlows.Plugin;
global using FileFlows.Plugin.Attributes;
global using FileFlows.Common;
+99
View File
@@ -0,0 +1,99 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<RootNamespace>FileFlows.$(MSBuildProjectName.Replace(" ", "_"))</RootNamespace>
<FileVersion>1.1.1.528</FileVersion>
<ProductVersion>1.1.1.528</ProductVersion>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<Company>FileFlows</Company>
<Authors>John Andrews</Authors>
<Product>PDF</Product>
<PackageProjectUrl>https://fileflows.com/</PackageProjectUrl>
<Description>Plugin that provides PDF related flow elements</Description>
<TreatWarningsAsErrors>True</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<None Update="i18n\*.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="i18n\en.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="i18n\zh.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="i18n\nl.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="i18n\it.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="i18n\sv.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="i18n\ja.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="i18n\ru.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="i18n\de.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="i18n\en.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="i18n\es.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="i18n\fr.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="i18n\it.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="i18n\ja.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="i18n\ko.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="i18n\nl.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="i18n\pt.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="i18n\ru.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="i18n\sv.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="i18n\zh.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="i18n\zht.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup Condition=" '$(Configuration)' == 'Debug'">
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.4.3" />
<PackageReference Include="MSTest.TestFramework" Version="3.4.3" />
<ProjectReference Include="..\PluginTestLibrary\PluginTestLibrary.csproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="FileFlows.Plugin">
<HintPath>..\FileFlows.Plugin.dll</HintPath>
</Reference>
<Reference Include="Common">
<HintPath>..\FileFlows.Common.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
</Reference>
</ItemGroup>
</Project>
+21
View File
@@ -0,0 +1,21 @@
namespace FileFlows.Pdf;
/// <summary>
/// Plugin Information
/// </summary>
public class Plugin : FileFlows.Plugin.IPlugin
{
/// <inheritdoc />
public Guid Uid => new Guid("af8fa0a9-53ad-457d-9729-14f1f996d477");
/// <inheritdoc />
public string Name => "PDF";
/// <inheritdoc />
public string MinimumVersion => "25.01.1.4200";
/// <inheritdoc />
public string Icon => "fas fa-file-pdf";
/// <inheritdoc />
public void Init()
{
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"Flow": {
"Parts": {
"PdfContainsText": {
"Description": "Überprüft, ob eine PDF-Datei den angegebenen Text enthält.",
"Label": "PDF enthält Text",
"Fields": {
"Text": "Text",
"Text-Help": "Der Text, nach dem in der PDF-Datei gesucht werden soll."
},
"Outputs": {
"1": "PDF enthält den angegebenen Text.",
"2": "PDF enthält den angegebenen Text nicht."
}
},
"PdfMatchesText": {
"Description": "Prüft, ob eine PDF-Datei mit dem angegebenen Text übereinstimmt, indem erweiterte Optionen verwendet werden.",
"Label": "PDF stimmt mit Text überein",
"Fields": {
"Text": "Text",
"Text-Help": "Der Text, der mit der PDF-Datei abgeglichen werden soll. Unterstützt erweiterte Optionen wie Regex, beginnt mit, endet mit, usw."
},
"Outputs": {
"1": "PDF stimmt mit dem angegebenen Text überein.",
"2": "PDF stimmt nicht mit dem angegebenen Text überein."
}
},
"PdfToTextFile": {
"Description": "Extrahiert den Inhalt der PDF-Datei in eine Textdatei und aktualisiert die Arbeitsdatei auf die extrahierte Textdatei.",
"Label": "PDF zu Textdatei",
"Fields": {
"File": "Datei",
"File-Description": "Die Datei, in die der PDF-Inhalt geschrieben werden soll. Wenn diese Datei bereits existiert, wird sie überschrieben."
},
"Outputs": {
"1": "PDF erfolgreich in Textdatei gespeichert.",
"2": "Kein Textinhalt zum Extrahieren gefunden."
}
}
}
},
"Plugins": {
"Pdf": {
"Description": "Plugin, das PDF-bezogene Flow-Elemente bereitstellt.",
"Label": "PDF"
}
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"Flow": {
"Parts": {
"PdfContainsText": {
"Description": "Checks if a PDF contains the specified text.",
"Label": "PDF Contains Text",
"Fields": {
"Text": "Text",
"Text-Help": "The text to check for in the PDF file."
},
"Outputs": {
"1": "PDF contains the specified text.",
"2": "PDF does not contain the specified text."
}
},
"PdfMatchesText": {
"Description": "Tests if a PDF matches the specified text using advanced matching options.",
"Label": "PDF Matches Text",
"Fields": {
"Text": "Text",
"Text-Help": "The text to match against in the PDF file. Supports advanced options such as regex, starts with, ends with, etc."
},
"Outputs": {
"1": "PDF matches the specified text.",
"2": "PDF does not match the specified text."
}
},
"PdfToTextFile": {
"Description": "Extracts the contents of the PDF file to a text file and updates the working file to the extracted text file.",
"Label": "PDF To Text File",
"Fields": {
"File": "File",
"File-Description": "The file to write the PDF contents to. If this file already exists, it will be replaced."
},
"Outputs": {
"1": "PDF successfully saved to text file.",
"2": "No text content found to extract."
}
}
}
},
"Plugins": {
"Pdf": {
"Description": "Plugin that provides PDF-related flow elements.",
"Label": "PDF"
}
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"Flow": {
"Parts": {
"PdfContainsText": {
"Description": "Comprueba si un PDF contiene el texto especificado.",
"Label": "PDF Contiene Texto",
"Fields": {
"Text": "Texto",
"Text-Help": "El texto a buscar en el archivo PDF."
},
"Outputs": {
"1": "El PDF contiene el texto especificado.",
"2": "El PDF no contiene el texto especificado."
}
},
"PdfMatchesText": {
"Description": "Comprueba si un PDF coincide con el texto especificado utilizando opciones avanzadas.",
"Label": "PDF Coincide con Texto",
"Fields": {
"Text": "Texto",
"Text-Help": "El texto con el que coincidir en el archivo PDF. Admite opciones avanzadas como expresiones regulares, comienza con, termina con, etc."
},
"Outputs": {
"1": "El PDF coincide con el texto especificado.",
"2": "El PDF no coincide con el texto especificado."
}
},
"PdfToTextFile": {
"Description": "Extrae el contenido del archivo PDF a un archivo de texto y actualiza el archivo de trabajo al archivo de texto extraído.",
"Label": "PDF a Archivo de Texto",
"Fields": {
"File": "Archivo",
"File-Description": "El archivo donde se guardará el contenido del PDF. Si este archivo ya existe, será reemplazado."
},
"Outputs": {
"1": "PDF guardado correctamente en un archivo de texto.",
"2": "No se encontró contenido de texto para extraer."
}
}
}
},
"Plugins": {
"Pdf": {
"Description": "Complemento que proporciona elementos de flujo relacionados con PDF.",
"Label": "PDF"
}
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"Flow": {
"Parts": {
"PdfContainsText": {
"Description": "Vérifie si un PDF contient le texte spécifié.",
"Label": "PDF Contient Texte",
"Fields": {
"Text": "Texte",
"Text-Help": "Le texte à rechercher dans le fichier PDF."
},
"Outputs": {
"1": "Le PDF contient le texte spécifié.",
"2": "Le PDF ne contient pas le texte spécifié."
}
},
"PdfMatchesText": {
"Description": "Vérifie si un PDF correspond au texte spécifié en utilisant des options avancées.",
"Label": "PDF Correspond au Texte",
"Fields": {
"Text": "Texte",
"Text-Help": "Le texte à faire correspondre dans le fichier PDF. Prend en charge des options avancées telles que les expressions régulières, commence par, se termine par, etc."
},
"Outputs": {
"1": "Le PDF correspond au texte spécifié.",
"2": "Le PDF ne correspond pas au texte spécifié."
}
},
"PdfToTextFile": {
"Description": "Extrait le contenu du fichier PDF dans un fichier texte et met à jour le fichier de travail avec le fichier texte extrait.",
"Label": "PDF vers Fichier Texte",
"Fields": {
"File": "Fichier",
"File-Description": "Le fichier dans lequel le contenu du PDF sera écrit. Si ce fichier existe déjà, il sera remplacé."
},
"Outputs": {
"1": "PDF enregistré avec succès dans un fichier texte.",
"2": "Aucun contenu texte trouvé à extraire."
}
}
}
},
"Plugins": {
"Pdf": {
"Description": "Plugin qui fournit des éléments de flux liés aux PDF.",
"Label": "PDF"
}
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"Flow": {
"Parts": {
"PdfContainsText": {
"Description": "Verifica se un PDF contiene il testo specificato.",
"Label": "PDF Contiene Testo",
"Fields": {
"Text": "Testo",
"Text-Help": "Il testo da cercare nel file PDF."
},
"Outputs": {
"1": "Il PDF contiene il testo specificato.",
"2": "Il PDF non contiene il testo specificato."
}
},
"PdfMatchesText": {
"Description": "Verifica se un PDF corrisponde al testo specificato utilizzando opzioni avanzate.",
"Label": "PDF Corrisponde al Testo",
"Fields": {
"Text": "Testo",
"Text-Help": "Il testo da confrontare nel file PDF. Supporta opzioni avanzate come regex, inizia con, termina con, ecc."
},
"Outputs": {
"1": "Il PDF corrisponde al testo specificato.",
"2": "Il PDF non corrisponde al testo specificato."
}
},
"PdfToTextFile": {
"Description": "Estrae il contenuto del file PDF in un file di testo e aggiorna il file di lavoro al file di testo estratto.",
"Label": "PDF a File di Testo",
"Fields": {
"File": "File",
"File-Description": "Il file in cui verrà scritto il contenuto del PDF. Se il file esiste già, verrà sovrascritto."
},
"Outputs": {
"1": "PDF salvato con successo in un file di testo.",
"2": "Nessun contenuto testuale trovato da estrarre."
}
}
}
},
"Plugins": {
"Pdf": {
"Description": "Plugin che fornisce elementi di flusso relativi ai PDF.",
"Label": "PDF"
}
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"Flow": {
"Parts": {
"PdfContainsText": {
"Description": "Verifica se un PDF contiene il testo specificato.",
"Label": "PDF Contiene Testo",
"Fields": {
"Text": "Testo",
"Text-Help": "Il testo da cercare nel file PDF."
},
"Outputs": {
"1": "Il PDF contiene il testo specificato.",
"2": "Il PDF non contiene il testo specificato."
}
},
"PdfMatchesText": {
"Description": "Verifica se un PDF corrisponde al testo specificato utilizzando opzioni avanzate.",
"Label": "PDF Corrisponde al Testo",
"Fields": {
"Text": "Testo",
"Text-Help": "Il testo da confrontare nel file PDF. Supporta opzioni avanzate come regex, inizia con, termina con, ecc."
},
"Outputs": {
"1": "Il PDF corrisponde al testo specificato.",
"2": "Il PDF non corrisponde al testo specificato."
}
},
"PdfToTextFile": {
"Description": "Estrae il contenuto del file PDF in un file di testo e aggiorna il file di lavoro al file di testo estratto.",
"Label": "PDF a File di Testo",
"Fields": {
"File": "File",
"File-Description": "Il file in cui verrà scritto il contenuto del PDF. Se il file esiste già, verrà sovrascritto."
},
"Outputs": {
"1": "PDF salvato con successo in un file di testo.",
"2": "Nessun contenuto testuale trovato da estrarre."
}
}
}
},
"Plugins": {
"Pdf": {
"Description": "Plugin che fornisce elementi di flusso relativi ai PDF.",
"Label": "PDF"
}
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"Flow": {
"Parts": {
"PdfContainsText": {
"Description": "PDF에 지정된 텍스트가 포함되어 있는지 확인합니다.",
"Label": "PDF 텍스트 포함 여부",
"Fields": {
"Text": "텍스트",
"Text-Help": "PDF 파일에서 검색할 텍스트입니다."
},
"Outputs": {
"1": "PDF에 지정된 텍스트가 포함되어 있습니다.",
"2": "PDF에 지정된 텍스트가 포함되어 있지 않습니다."
}
},
"PdfMatchesText": {
"Description": "고급 옵션을 사용하여 PDF가 지정된 텍스트와 일치하는지 확인합니다.",
"Label": "PDF 텍스트 일치 여부",
"Fields": {
"Text": "텍스트",
"Text-Help": "PDF 파일에서 일치할 텍스트입니다. 정규식, 시작 문자, 끝 문자 등을 지원합니다."
},
"Outputs": {
"1": "PDF가 지정된 텍스트와 일치합니다.",
"2": "PDF가 지정된 텍스트와 일치하지 않습니다."
}
},
"PdfToTextFile": {
"Description": "PDF 파일의 내용을 텍스트 파일로 추출하고 작업 파일을 추출된 텍스트 파일로 업데이트합니다.",
"Label": "PDF를 텍스트 파일로 변환",
"Fields": {
"File": "파일",
"File-Description": "PDF 내용을 저장할 파일입니다. 이 파일이 이미 존재하면 덮어씌워집니다."
},
"Outputs": {
"1": "PDF가 텍스트 파일로 성공적으로 저장되었습니다.",
"2": "추출할 텍스트 내용이 없습니다."
}
}
}
},
"Plugins": {
"Pdf": {
"Description": "PDF 관련 플로우 요소를 제공하는 플러그인입니다.",
"Label": "PDF"
}
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"Flow": {
"Parts": {
"PdfContainsText": {
"Description": "Controleert of een PDF de opgegeven tekst bevat.",
"Label": "PDF Bevat Tekst",
"Fields": {
"Text": "Tekst",
"Text-Help": "De tekst om te controleren in het PDF-bestand."
},
"Outputs": {
"1": "PDF bevat de opgegeven tekst.",
"2": "PDF bevat de opgegeven tekst niet."
}
},
"PdfMatchesText": {
"Description": "Controleert of een PDF overeenkomt met de opgegeven tekst met behulp van geavanceerde opties.",
"Label": "PDF Komt Overeen Met Tekst",
"Fields": {
"Text": "Tekst",
"Text-Help": "De tekst om te vergelijken in het PDF-bestand. Ondersteunt geavanceerde opties zoals regex, begint met, eindigt met, enz."
},
"Outputs": {
"1": "PDF komt overeen met de opgegeven tekst.",
"2": "PDF komt niet overeen met de opgegeven tekst."
}
},
"PdfToTextFile": {
"Description": "Extraheert de inhoud van het PDF-bestand naar een tekstbestand en wijzigt het werkbestand naar het geëxtraheerde tekstbestand.",
"Label": "PDF Naar Tekstbestand",
"Fields": {
"File": "Bestand",
"File-Description": "Het bestand om de inhoud van de PDF naar te schrijven. Als dit bestand al bestaat, wordt het overschreven."
},
"Outputs": {
"1": "PDF succesvol opgeslagen in tekstbestand.",
"2": "Geen tekstinhoud gevonden om te extraheren."
}
}
}
},
"Plugins": {
"Pdf": {
"Description": "Plugin die PDF-gerelateerde stroomelementen biedt.",
"Label": "PDF"
}
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"Flow": {
"Parts": {
"PdfContainsText": {
"Description": "Verifica se um PDF contém o texto especificado.",
"Label": "PDF Contém Texto",
"Fields": {
"Text": "Texto",
"Text-Help": "O texto a ser verificado no arquivo PDF."
},
"Outputs": {
"1": "O PDF contém o texto especificado.",
"2": "O PDF não contém o texto especificado."
}
},
"PdfMatchesText": {
"Description": "Verifica se um PDF corresponde ao texto especificado usando opções avançadas.",
"Label": "PDF Corresponde ao Texto",
"Fields": {
"Text": "Texto",
"Text-Help": "O texto a ser correspondido no arquivo PDF. Suporta opções avançadas, como regex, começa com, termina com, etc."
},
"Outputs": {
"1": "O PDF corresponde ao texto especificado.",
"2": "O PDF não corresponde ao texto especificado."
}
},
"PdfToTextFile": {
"Description": "Extrai o conteúdo do arquivo PDF para um arquivo de texto e atualiza o arquivo de trabalho para o arquivo de texto extraído.",
"Label": "PDF Para Arquivo de Texto",
"Fields": {
"File": "Arquivo",
"File-Description": "O arquivo para salvar o conteúdo do PDF. Se este arquivo já existir, ele será substituído."
},
"Outputs": {
"1": "O PDF foi salvo com sucesso no arquivo de texto.",
"2": "Nenhum conteúdo de texto encontrado para extrair."
}
}
}
},
"Plugins": {
"Pdf": {
"Description": "Plugin que fornece elementos de fluxo relacionados a PDFs.",
"Label": "PDF"
}
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"Flow": {
"Parts": {
"PdfContainsText": {
"Description": "Проверяет, содержит ли PDF указанный текст.",
"Label": "PDF Содержит Текст",
"Fields": {
"Text": "Текст",
"Text-Help": "Текст для проверки в PDF-файле."
},
"Outputs": {
"1": "PDF содержит указанный текст.",
"2": "PDF не содержит указанный текст."
}
},
"PdfMatchesText": {
"Description": "Проверяет, совпадает ли PDF с указанным текстом, используя расширенные параметры.",
"Label": "PDF Совпадает С Текстом",
"Fields": {
"Text": "Текст",
"Text-Help": "Текст для проверки в PDF-файле. Поддерживаются расширенные параметры, такие как регулярные выражения, начинается с, заканчивается на и т. д."
},
"Outputs": {
"1": "PDF совпадает с указанным текстом.",
"2": "PDF не совпадает с указанным текстом."
}
},
"PdfToTextFile": {
"Description": "Извлекает содержимое PDF-файла в текстовый файл и обновляет рабочий файл на извлечённый текстовый файл.",
"Label": "PDF В Текстовый Файл",
"Fields": {
"File": "Файл",
"File-Description": "Файл для записи содержимого PDF. Если файл уже существует, он будет перезаписан."
},
"Outputs": {
"1": "PDF успешно сохранён в текстовый файл.",
"2": "Не найдено текстового содержимого для извлечения."
}
}
}
},
"Plugins": {
"Pdf": {
"Description": "Плагин, предоставляющий элементы потока, связанные с PDF.",
"Label": "PDF"
}
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"Flow": {
"Parts": {
"PdfContainsText": {
"Description": "Kontrollerar om en PDF innehåller den angivna texten.",
"Label": "PDF Innehåller Text",
"Fields": {
"Text": "Text",
"Text-Help": "Texten att söka efter i PDF-filen."
},
"Outputs": {
"1": "PDF innehåller den angivna texten.",
"2": "PDF innehåller inte den angivna texten."
}
},
"PdfMatchesText": {
"Description": "Testar om en PDF matchar den angivna texten med avancerade matchningsalternativ.",
"Label": "PDF Matchar Text",
"Fields": {
"Text": "Text",
"Text-Help": "Texten att matcha mot i PDF-filen. Stödjer avancerade alternativ som regex, börjar med, slutar med, etc."
},
"Outputs": {
"1": "PDF matchar den angivna texten.",
"2": "PDF matchar inte den angivna texten."
}
},
"PdfToTextFile": {
"Description": "Extraherar innehållet från PDF-filen till en textfil och uppdaterar arbetsfilen till den extraherade textfilen.",
"Label": "PDF Till Textfil",
"Fields": {
"File": "Fil",
"File-Description": "Filen där innehållet från PDF:en ska sparas. Om denna fil redan finns kommer den att ersättas."
},
"Outputs": {
"1": "PDF sparades framgångsrikt till textfil.",
"2": "Inget textinnehåll hittades att extrahera."
}
}
}
},
"Plugins": {
"Pdf": {
"Description": "Plugin som tillhandahåller PDF-relaterade flödeselement.",
"Label": "PDF"
}
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"Flow": {
"Parts": {
"PdfContainsText": {
"Description": "检查 PDF 是否包含指定的文本。",
"Label": "PDF 包含文本",
"Fields": {
"Text": "文本",
"Text-Help": "要在 PDF 文件中检查的文本。"
},
"Outputs": {
"1": "PDF 包含指定的文本。",
"2": "PDF 不包含指定的文本。"
}
},
"PdfMatchesText": {
"Description": "测试 PDF 是否使用高级匹配选项匹配指定的文本。",
"Label": "PDF 匹配文本",
"Fields": {
"Text": "文本",
"Text-Help": "在 PDF 文件中匹配的文本。支持正则表达式、以某个文本开头、以某个文本结尾等高级选项。"
},
"Outputs": {
"1": "PDF 匹配指定的文本。",
"2": "PDF 不匹配指定的文本。"
}
},
"PdfToTextFile": {
"Description": "将 PDF 文件内容提取到文本文件中,并将工作文件更新为提取的文本文件。",
"Label": "PDF 转文本文件",
"Fields": {
"File": "文件",
"File-Description": "要将 PDF 内容写入的文件。如果此文件已存在,将被替换。"
},
"Outputs": {
"1": "PDF 成功保存到文本文件。",
"2": "未找到可提取的文本内容。"
}
}
}
},
"Plugins": {
"Pdf": {
"Description": "提供 PDF 相关流程元素的插件。",
"Label": "PDF"
}
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"Flow": {
"Parts": {
"PdfContainsText": {
"Description": "檢查 PDF 是否包含指定的文本。",
"Label": "PDF 包含文本",
"Fields": {
"Text": "文本",
"Text-Help": "要在 PDF 文件中檢查的文本。"
},
"Outputs": {
"1": "PDF 包含指定的文本。",
"2": "PDF 不包含指定的文本。"
}
},
"PdfMatchesText": {
"Description": "測試 PDF 是否使用高級匹配選項匹配指定的文本。",
"Label": "PDF 匹配文本",
"Fields": {
"Text": "文本",
"Text-Help": "在 PDF 文件中匹配的文本。支持正則表達式、以某個文本開頭、以某個文本結尾等高級選項。"
},
"Outputs": {
"1": "PDF 匹配指定的文本。",
"2": "PDF 不匹配指定的文本。"
}
},
"PdfToTextFile": {
"Description": "將 PDF 文件內容提取到文本文件中,並將工作文件更新為提取的文本文件。",
"Label": "PDF 轉文本文件",
"Fields": {
"File": "文件",
"File-Description": "要將 PDF 內容寫入的文件。如果此文件已存在,將被替換。"
},
"Outputs": {
"1": "PDF 成功保存到文本文件。",
"2": "未找到可提取的文本內容。"
}
}
}
},
"Plugins": {
"Pdf": {
"Description": "提供 PDF 相關流程元素的插件。",
"Label": "PDF"
}
}
}