Utilitário simples para converter um documento do Microsoft Word '.doc', Microsoft Excel '.xls' e Microsoft PowerPoint .ppt Arquivos para qualquer outro formato suportado como .txt .csv .rtf .pdf.
Também pode ser usado para converter .txt, .rtf, .csv para .doc, .xls ou .pdf formato.
Pode ser usado para converter documentos de palavras mais antigas em formato mais recente.
Deve ter o Microsoft Word, Excel ou PowerPoint instalado na máquina host.
Faça o download do lançamento do GitHub Lankeases - https://github.com/tobya/docto/releases/ mais informações disponíveis em https://tobya.github.io/docto/
Mais exemplos disponíveis em
Download .exe do lançamento https://github.com/tobya/docto/releases
Também disponível para instalação via chocolatey
Choco Instale Docto
Para atualizar para a versão mais recente
Choco Upgrade Docto
Node Wrappers foi criado por @kerimg & @brrd
https://www.npmjs.com/package/node-docto
https://github.com/brrd/msoconvert
Registre um problema para bugs, recursos ou sugestões.
Converter documento do Microsoft Word em texto
docto -f C:DirectoryMyFile.doc -O "C:Output DirectoryMyTextFile.txt" -T wdFormatText
Converta o documento do Microsoft Excel em texto CSV
docto -XL -f C:DirectoryMyFile.xls -O "C:Output DirectoryMyTextFile.csv" -T xlCSV
Converta o documento do Microsoft Word em PDF (requer a versão do Microsoft Word que suporta isso).
docto -f C:DirectoryMyFile.doc -O "C:Output DirectoryMyTextFile.pdf" -T wdFormatPDF
Converta todos os documentos do Microsoft Word no diretório e seus sub -diretórios em PDF
docto -f "C:Dir with SpacesFilesToConvert" -O "C:DirToOutput" -T wdFormatPDF -OX .pdf
Exclua arquivos originais após conversão (-R).
docto -f "C:Dir with SpacesFilesToConvert" -O "C:DirToOutput" -T wdFormatPDF -OX .pdf -R true
Adicione um webhook para disparar em cada conversão (-w)
docto -f "C:Dir with SpacesFilesToConvert" -O "C:DirToOutput" -T wdFormatPDF -OX .pdf -W https://toflidium.com/webhooks/docto/webhook_test.php
Um webhook é um URL que pode ser chamado em cada conversão para fornecer a capacidade de renovar externamente sempre que um arquivo for convertido. Atualmente, o endereço https é experimental; portanto, registre um problema se você tiver algum problema.
Se você estiver usando o Docto em estado selvagem em algum lugar, adicione detalhes a esta página da wiki
Se você precisar atualizar um monte de arquivos para funcionar sem conversão no OneDrive / Office365 / Word 20xx, poderá usar o Docto. Veja esta questão do StackexChange
https://webapps.stackexchange.com/questions/74859/what-format-does-word-online-use
Help
Docto Version:%s
Office Version : %s
Open Source: https://github.com/tobya/DocTo/
Description: DocTo converts Word Documents and Excel Spreadsheets to other formats.
Command Line Parameters:
Each Parameter should be followed by its value eg
-f "c:DocsMyDoc.doc"
Parameters markers are case insensitive.
-H This message
--HELP -?
-WD Use Word for Converstion (Default). Help '-h -wd'
--word
-XL Use Excel for Conversion. Help '-h -xl'
--excel
-PP Use Powerpoint for Conversion. help '-h -pp'
--powerpoint
-VS Use Visio for Conversion.
--visio
-F Input File or Directory
--inputfile
-FX Input file search for if -f is directory. Can use .rtf test*.txt etc
Default ".doc*" (will find ".docx" also)
--inputextension
-O Output File or Directory to place converted Docs
--outputfile
-OX Output Extension if -F is Directory. Please include '.' eg. '.pdf' .
If not provided, pulled from standard list.
--outputextension
-T Format(Type) to convert file to, either integer or wdSaveFormat constant.
Available from
https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.word.wdsaveformat
or https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel.xlfileformat
or https://docs.microsoft.com/en-us/office/vba/api/powerpoint.presentation.saveas
See current List Below.
--format
-TF Force Format. -T value if an integer, is checked against current list
compiled in. It is not passed if unavailable. -TF will pass through value
without checking. Word will return an "EOleException Value out of range"
error if invalid. Use instead of -T.
--forceformat
-L Log Level Integer: 1 ERRORS 2 STANDARD 5 CHATTY 9 DEBUG 10 VERBOSE. Default: 2=STANDARD
--loglevel
-C Compatibility Mode Integer. Set to an INTEGER value from
https://msdn.microsoft.com/en-us/library/office/ff192388.aspx.
Set the compatibility mode when you want to convert documents to a later
version of word. See help '-h -c' for further info.
--compatibility
-E Encoding Integer: Sets codepage Encoding. See
https://msdn.microsoft.com/en-us/library/office/ff860880.aspx
for more details and values.
--encoding
-M Ignore all files in __MACOSX subdirectory if it exists. Default True.
--ignoremacos
-N Make list of files that take over n seconds to complete.
Use number of seconds over that conversion takes and add to list.
Outputs to filename 'docto.ignore.txt'
--listlongrunning
-NX Ignore any file listed in docto.ignore.txt, created by -N
--ignorelongrunninglist
-G Write Log to file in directory
--writelogfile
-GL Log File Name to Use. Default 'DocTo.Log';
--logfilename
-Q Quiet Mode: Nothing will be output to console. To see any errors you must
set -G or -GL. Equivalent to setting -L 0
--quiet
-R Remove Files after successful conversion: Default false; To use specify
value eg -R true
--deletefiles
-W Webhook: Url to call on events. See help '-H -HW' for more details.
--webhook
-X Halt on COM Error: Default True; If you have trouble with some files
not converting, set this to false to ignore errors and continue with
batch job.
--halterror
-V Show Versions. DocTo and Word/Excel/Powerpoint
Long Parameters:
--BookmarkSource
PDF conversions can take their bookmarks from
WordBookmarks, WordHeadings (default) or None
--DoNotOverwrite
--no-overwrite
Existing files are overridden by default, if you do not wish a file to be
over written use this option.
--no-subdirs Only convert specified directory. Do not recurse sub directories
--ExportMarkup Value for wdExportItem - default wdExportDocumentContent.
use wdExportDocumentWithMarkup to export all word comments with pdf
--no-IncludeDocProperties
--no-DocProp
Do not include Document Properties in the exported pdf file.
--PDF-OpenAfterExport
If you wish for a converted PDF to be opened after creation. No value req.
--PDF-FromPage
Save a range of pages to pdf. Integer/String. If integer --PDF-ToPage must also be set.
Other values wdExportCurrentPage, wdExportSelection
--PDF-ToPage
Save a range of pages to pdf. Integer. --PDF-FromPage must also be set.
--PDF-OptimizeFor
Set the pdf/xps to be optimized for print or screen.
Default ForPrint | ForOnScreen
--XPS-no-IRM
Do not copy IRM permissions to exported XPS document.
--PDF-No-DocStructureTags
Do not include DocStructureTags to help screen readers.
--PDF-no-BitmapMissingFonts
Do not bitmap missing fonts, fonts will be substituted.
--use-ISO190051
Create PDF to the ISO 19005-1 standard.
Experimental:
--skipdocswithtoc
EXPERIMENTAL. Will skip any docs that contain a TOC to prevent hanging.
Currently matches some false positives. Default False.
--stdout
Send file to Stdout after conversion. ( Does not work correctly for binary files)
ERROR CODES:
200 : Invalid File Format specified
201 : Insufficient Inputs. Minimum of Input File, Output File & Type
202 : Incorrect switches. Switch requires value
203 : Unknown switch in command
204 : Input File does not exist
205 : Invalid Parameter Value
220 : Word or COM Error
221 : Word not Installed
400 : Unknown Error
3 parâmetros são necessários
Os parâmetros que assumem um valor têm um espaço separando -os do valor. Alguns parâmetros não requerem um valor. Todos os parâmetros são insensíveis ao caso.
-F - -inputfile
O arquivo ou pasta que você deseja abrir. Se for uma pasta, o Docto carregará todos os arquivos nesse diretório e seus subdiretos. Se você não deseja carregar arquivos de subdiretos, consulte o parâmetro --no-subdirs .
A conversão será realizada em cada arquivo por sua vez.
-O -OU -outputFile
O nome do arquivo ou o nome de dobra onde você gostaria que os arquivos de saída fossem colocados. Se a entrada for um arquivo, mas a saída for uma pasta, o arquivo de saída terá o mesmo nome da entrada, mas com a nova extensão.
-T - -formato
Especifique qual formato você deseja converter como wdFormatPDF ou wdFormatText etc.
Ver possíveis formatos de palavras e formatos de excel. Também pode usar o valor inteiro
-H, --help
Exibir o texto de ajuda listando todos os parâmetros e versões dos aplicativos DOCTO e Office
-V --version
Exiba a string de versão do Docto e Microsoft Office.
-Wd -xl -pp -vs
Este parâmetro informa ao DOCTO qual dos aplicativos que você deseja usar para carregar e salvar seu documento por razões históricas que o Docto é inadimplente para -wd se nenhum valor for fornecido, no entanto, é um bom hábito entrar sempre em usar um desses valores sempre que você usar o DOCTO.
-Fx - -inputextension
Por padrão, o DOCTO carregará todos os arquivos no diretório com a extensão de aplicativo padrão
por exemplo.
Se você deseja converter um conjunto diferente de arquivos, por exemplo, *.rtf ou *.txt, você pode especificá -lo aqui por ext, como .rtf
-Ox -outputextension
A extensão de saída em uma conversão é puxada de uma lista padrão, por exemplo. Se converter para wdformatpdf, o arquivo será emitido com extensão .pdf . Se você deseja especificar sua própria extensão (como .pdfx ), pode com este parâmetro.
-Tf -ForceFormat
Se -t for um número inteiro se for um valor que não estivesse disponível quando o Docto foi compilado, ele levantará um erro. Se você usar -tf, ele passará o valor inteiro de -t para o aplicativo do Office sem verificar.
-L - -Loglevel
Definir nível de saída de log. -l 10 é útil para depuração. Use -l 0 ou -q para surgir o registro.
Níveis ####
-C -Compatibilidade
Inteiro do modo de compatibilidade. Defina como um valor inteiro da lista MSDN.
Defina o modo de compatibilidade da versão do Word, o documento deve ser compatível com. Particularmente útil ao desejar converter documentos mais antigos para a versão atual. Pode ser usado para converter documentos antigos do Word para serem compatíveis com o OneDrive.
-E -codificação
Define a codificação de codepage. Veja o MSDN para obter mais detalhes e valores.
-N - -ListlongRunning
Alguns arquivos ao ser convertidos podem causar uma caixa de diálogo aparecer. Isso só pode ser corrigido pela intervenção manual. Ao definir este parâmetro, você pode pelo menos registrar os documentos que estão causando dificuldades (para um arquivo chamado docto.ignore.txt ) e se você definir -NX esses documentos serão ignorados nas execuções subsequentes.
-Nx --ignorelongRunninglist {não-valor-requirido}
Quando definido, todos os arquivos listados em docto.ignore.txt no mesmo diretório que docto.exe serão ignorados. Isso permite que documentos problemáticos em uma estrutura de diretório sejam ignorados.
-G - -writelogfile [nenhum valor necessário]
Escreva o log em um arquivo e no stdout. docto.log por padrão.
-Gl - -logfileName {FileName}
Especifique o nome do arquivo para o qual você deseja que o arquivo de log seja escrito.
-Q --quiet [nenhum valor necessário]
Nenhuma saída para stdout. Tudo, incluindo erros, é suportado. Use em conjunto com -G para garantir que você receba erros.
-R - -deletefiles {true | false}
Se você deseja que o InputFile seja excluído após a conversão, pode defini -lo como true.
-W -webhook
Se desejar, pode chamar um URL da Web após cada conversão ou erro. O URL da webhook será chamado nos seguintes eventos com os seguintes parâmetros
Conversão de arquivo
Erro
O valor de retorno está logado no Docto Log
-X - -halterror {true | false}
O DOCTO interromperá quando um erro COM for levantado. Se você deseja ignorar o erro e continuar, defina esse valor como true.
--Bookmarksource {fonte}
As conversões em PDF podem receber seus favoritos de Wordbookmarks, Wordheadings (padrão) ou nenhum
--donotoverwrite--não-overwrite [nenhum valor necessário]
Os arquivos existentes são substituídos por padrão, se você não desejar que um arquivo esteja acima do por escrito, use esta opção.
-Não subdirs
Por padrão, os sub -diretórios são convertidos. Use para converter apenas diretório especificado. Não recorrente sub -diretórios
--Exportmarkup
Especifica
Use wdexportDocumentWithmarkup para exportar todos os comentários do Word com PDF
--PDF-Openaftexport
Se você deseja que o PDF convertido seja aberto após a criação. Nenhum valor req.
--PDF-FROMPAGE
--pdf-topage
Apenas converta certas páginas no documento.
--Use-Iso190051
Crie PDF para o padrão ISO 19005-1, também conhecido como arquivo PDF-A ou PDF.
-M --ignoremacos {true | false}
Por padrão, o DOCTO ignora quaisquer arquivos em um diretório __MACOSX oculto que o MacOS cria. Este diretório geralmente está presente em um disco externo compartilhado entre os sistemas. Se você deseja verificar este diretor, defina este valor. Você deve especificar valor EG -M false .
O projeto compila com Delphi (eu uso 10.3, mas deve compilar com a maioria das versões, incluindo XE4 e 7). O projeto não será compilado no Linux, pois usa vários componentes do Windows, como Com e Word e Excel, não possuem versões Linux, para que não haja sentido.
O XLSTO agora está incorporado ao Docto. Anteriormente, o XLSTO era um exe separado que foi usado para converter arquivos XLS em CSV ou PDF. Agora isso pode ser feito com o DocTo.exe principal, simplesmente adicionando o sinalizador -xl.
Fico feliz em aceitar qualquer relações públicas que alguém gostaria de enviar. Se uma grande quantidade de trabalho envolvida, abra um problema primeiro para garantir que o esforço não seja desperdiçado.
O nome principal da filial no repo é DocTo
Comecei a escrever testes funcionais no PHP para verificar se o aplicativo está manipulando documentos corretamente. Se você estiver familiarizado com o PHP Laravel e a Pest, eu adoraria alguns testes extras.