Formatar automaticamente arquivos de texto sem formatação no Word

2

Temos um sistema legado que cria arquivos de texto que costumavam ser impressos em uma impressora de 132 colunas. Alguns arquivos possuem linhas mais longas, como 169 caracteres. Por alguma razão, a extensão de arquivo. DOC é anexada, para que os arquivos sejam abertos no Microsoft Word, mesmo que não sejam documentos do Word e simplesmente texto sem formatação.

Aparentemente, havia uma macro do Word nas máquinas das pessoas em algum ponto que reformatava o documento para que coubesse em uma página - até onde eu sei, selecionar todo o texto e aumentar o tamanho da fonte até 6 pontos. com fontes Courier New ou Consolas.

Eu odeio forçar algo assim para TODOS os arquivos de texto simples abertos no Word, e a solução ideal seria converter esses arquivos em PDF (o que também resolve o problema de visualizá-los como um anexo de email no iPhone) mas estou ficando sem ideias.

Alguma sugestão?

DATE 02-15-14                                          LISTING OF HIRED AND TERMINATED EMPLOYEES FOR 01/01/14 - 01/31/14                                          PAGE 1

EMPNO.....    AGENT NAME..........    Employee Name............    HIRE DATE    TERM DT.    LOGIN ID............    EMAIL NAME..............................

30594         ABC-NEWYORK            JOE SMITH               01/06/14                NEWYORK.JOE             JOE SMITH
    
por Bert 17.02.2014 / 14:55

2 respostas

1

Eu peguei o seu arquivo e fiz uma macro para você:

Sub LongWidth()
'
' LongWidth Macro
'
'
    With Selection.PageSetup
        .Orientation = wdOrientLandscape
        .TopMargin = InchesToPoints(0.5)
        .BottomMargin = InchesToPoints(0.5)
        .LeftMargin = InchesToPoints(0.5)
        .RightMargin = InchesToPoints(0.5)
        .Gutter = InchesToPoints(0)
        .HeaderDistance = InchesToPoints(0.5)
        .FooterDistance = InchesToPoints(0.5)
        .PageWidth = InchesToPoints(8.5)
        .PageHeight = InchesToPoints(11)
        .GutterPos = wdGutterPosLeft
    End With
    Selection.WholeStory
    Selection.Font.Size = 7
    ActiveDocument.ExportAsFixedFormat OutputFileName:= _
        "C:\Path\To\Folder\foo.pdf", ExportFormat:=wdExportFormatPDF, _
        OpenAfterExport:=True, OptimizeFor:=wdExportOptimizeForPrint, Range:= _
        wdExportAllDocument, From:=1, To:=1, Item:=wdExportDocumentContent, _
        IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:= _
        wdExportCreateNoBookmarks, DocStructureTags:=True, BitmapMissingFonts:= _
        True, UseISO19005_1:=False
End Sub

Então, o que isto faz é primeiro definir a página para o modo paisagem com margens estreitas. Em seguida, selecionei todo o texto e defini a fonte como 7. Depois, exportei o documento como PDF.

Se você tem usuários que querem ver isso em um iPhone ou algo assim, eu gostaria de automatizar o Word para converter todos esses arquivos em PDF em um processo automatizado. Joel Spolsky escreveu um artigo há muito tempo sobre este processo. Muita coisa mudou, mas esses conceitos ainda são válidos.

    
por 17.02.2014 / 15:14
0

Para converter para PDF, achei link excelente. Isso me deu um arquivo PDF que manteve a linha quebrada perfeitamente. Ele também fornece uma interface de linha de comando que suporta a seleção de tipos de fontes diferentes e permite converter todos os arquivos em uma pasta. Um comando para fazer isso para todos os arquivos na pasta atual é:

@echo off
for /r %%F in (*) do TXTtoPDF "%%~nF"

Substitua TXTtoPDF pela localização do TXTtoPDF.exe

    
por 17.02.2014 / 15:24