Como automatizar 'colar como JPEG' para colar fotos no Word para reduzir todo o tamanho do documento?

4

Eu preparo documentos no Word 2013. Cada documento chega a centenas de páginas, o que inclui mais de 50 páginas de fotografias em formato de tabela. A tabela tem três colunas:

Sl.No ... Fotografia ... Descrição

Cada página terá cerca de 3 fotografias.

Eu redimensiono a imagem original para 320 x 480 pixels usando o ImageResizer (Microsoft powertoy). Fazer isso reduzirá o tamanho da foto de 3 MB para cerca de 100 KB.

Quando copio e colo cerca de 200 fotos no documento, o tamanho do arquivo é de 10 MB a 50 MB. Mas se eu cortar + colar especial + colar como JPEG para cada foto, o tamanho do arquivo será reduzido para menos de 5 MB.

Existe uma maneira de eu copiar uma foto de uma pasta e colar diretamente como JPEG? Ou melhor ainda, há uma maneira de editar todas as fotos em lote em um documento para que todas elas sejam coladas como JPEG de uma só vez?

Qualquer dica a esse respeito será de grande ajuda, pois passo tempo e esforços significativos selecionando cada foto e cole o especial como jpeg.

Edit: Eu devo mencionar que eu sou totalmente novato quando se trata de material técnico. Pode gerenciar clicando em uma série de botões, etc, mas os códigos e outras coisas estão muito acima da minha cabeça.

    
por Ashwin Siddaramaiah 14.12.2015 / 14:18

3 respostas

1

Você já tentou a opção Compress pictures em Picture tools - Format ? Na caixa de diálogo, você pode escolher entre diferentes valores de copressão e há uma caixa de seleção Apply only to this picture . Desmarcando isso, todas as imagens em seu documento serão compactadas.
Para imagens e mais, consulte este artigo ("Compactar Imagens", quase na parte inferior).

    
por 14.12.2015 / 14:34
1

Então ... aqui está outra solução um pouco hacky:

  1. Salve seus documentos no formato docx (se você os tiver, vá para a etapa 2);
  2. Altere a extensão do documento para zip (você pode deixar o docx antes, como yourdocumentname.docx.zip ); se quiser, você pode criar um backup do seu documento original antes de fazer qualquer coisa;
  3. Extraia o conteúdo do arquivo zip para uma pasta (permite nomear tmp ) com o WinRAR ou qualquer outra coisa;
  4. Na pasta em que você extraiu o zip, procure uma pasta chamada word ;
  5. Na pasta word , há uma pasta media , há as imagens do documento armazenadas;
  6. Faça a conversão em lote para cada imagem png com sua ferramenta que você tem;
  7. Verifique se você não tem as imagens png antigas na pasta (se você as deixar lá, o tamanho do arquivo aumentará em vez de diminuir, mas acho que não é ambíguo);
  8. Se você tiver as imagens jpg convertidas na pasta media , volte para a pasta word e, em seguida, para _rels ;
  9. Na pasta _rels , abra o arquivo document.xml.rels com o bloco de notas ou seu editor de texto favorito (Sublime Text, Notepad ++, etc.);
  10. No arquivo, há diferentes Relationship nós, substitua todas as extensões "png" por "jpg" nos atributos Target quando necessário (por exemplo, Target="media / image4.png" - > Target="media / image4.jpg"; a maioria dos editores tem uma opção Substituir Todos na caixa de diálogo Localizar / Substituir );
  11. Salve o arquivo editado, volte para a pasta raiz ( tmp ), selecione todos, compacte-os novamente em um arquivo zip ( Importante: não inclua a pasta tmp , apenas seu conteúdo! , o arquivo zip deve se parecer com o original - renomeado do arquivo docx-zip);
  12. Renomeie o arquivo zip new para docx (por exemplo, yourdocumentname.docx ) e pronto! :)


Pode haver uma maneira menos complicada de se fazer isso, mas esse trabalho não funciona. Se eu tivesse um pouco mais de tempo, criaria uma ferramenta para fazer tudo isso programaticamente, poderia ser útil para mim também às vezes ... Ou há uma ferramenta para isso na net, idk. (Eu não conheci nada como isto ainda.)

    
por 14.12.2015 / 17:59
0

Você pode criar um novo modelo habilitado para macro. Na guia Desenvolvedor (talvez seja necessário personalizar sua faixa de opções para que fique visível - ela não é exibida por padrão). Em seguida, clique no botão Visual Basic. Isso levará você ao editor do VBA. Insira um novo módulo e copie e cole o código de macro abaixo no módulo. Salvar e fechar. Salve seu arquivo .dotm na sua pasta de inicialização do Word para que seja acessível a todos os documentos. Com o documento com fotos no documento ativo aberto, pressione Alt F8 e escolha a macro (que você pode renomear de "teste") na lista.

Código de macro:

Sub test()
Dim shp As InlineShape
If ActiveDocument.InlineShapes.Count = 0 Then Exit Sub
For i = ActiveDocument.InlineShapes.Count To 1 Step -1
   Set shp = ActiveDocument.InlineShapes(i)
    If shp.Type = wdInlineShapePicture Then
        shp.Select
        Selection.Cut
        Selection.PasteSpecial Link:=False, DataType:=15, Placement:=wdInLine, _
        DisplayAsIcon:=False
    End If
Next
End Sub
    
por 21.12.2015 / 04:55