PDF에서 하이퍼링크 찾기 및 바꾸기

PDF에서 하이퍼링크 찾기 및 바꾸기

Windows 8.1 OS에서 수백 개의 PDF 파일에 있는 href(앵커 텍스트 아님)를 찾아 바꾸는 프로세스를 자동화하고 싶습니다.

작업 가능한 PDF로 다시 컴파일할 수 있는 파일 형식을 변환해 드리겠습니다.

업데이트: 나는 찾아서 교체할 수 있었습니다href만PDFTK를 사용하여 ..

  1. pdftk foo.pdf 출력 foo.tmp 압축 풀기
  2. 텍스트 편집기를 사용하여 링크 찾기 및 편집
  3. pdftk foo.tmp 출력 foo-updated.pdf 압축

이제 찾기 및 바꾸기 목록에서 foo.tmp 값을 대체하여 2단계를 자동화할 수 있는 cmdline 도구가 필요합니다.

답변1

나는 우리가 Windows OS에 대해 이야기하고 있다고 가정하겠습니다.일괄태그 대신 일괄 처리를 참조하게 됩니다.일괄랭, 어쨌든 내가 조언할게일괄기본적인 공통 시스템 기반 작업만 다루는 제한된 언어이며 PDF와 같은 일반 텍스트가 아닌 파일을 읽을 수 없습니다.

PDF와 같은 특정 형식을 읽으려면 외부 파서/통역사가 필요합니다.

좋은 것이 있습니다씨#데이터에 포함된 데이터를 읽는 방법을 보여주는 기반 솔루션PDF사람이 읽을 수 있는 방식으로:

https://stackoverflow.com/questions/2550796/reading-pdf-content-with-itextsharp-dll-in-vb-net-or-c-sharp

그것은 사용한다iTextSharp오픈 소스인 라이브러리:

http://sourceforge.net/projects/itextsharp/

또는 여기에VBSAdobe 사용자 가이드의 기반 솔루션을 사용하려면COMAdobe 앱에서 설치된 개체.

http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/indesign/sdk/cs6/scripting/InDesign_ScriptingGuide_VB.pdf

이 작업에 관심이 있는 장을 참고하십시오.

여기에 이미지 설명을 입력하세요

VBS에 대해 약간의 도움을 주기 위해 도움이 될 수 있는 VBS 스크립트 질문이 있습니다.

Option Explicit
Dim accapp, acavdocu
Dim pdf_path, bReset, Wrd_count
pdf_path="C:\LS\Test\Invoices\02_2011_PDF\rpt_Invoice_1.pdf"
'AcroExch is acrobat application object
Set accapp=CreateObject("AcroExch.App")
accapp.Show()

'Need to create one AVDoc object par displayed document
Set acavdocu=CreateObject("AcroExch.AVDoc")

'Opening the PDF
If acavdocu.Open(pdf_path,"") Then
acavdocu.BringToFront()
bReset=1 : Wrd_count = 0
'Find Text Finds the specified text, scrolls so that it is visible, and highlights it
Do While acavdocu.FindText("Invoice#", 1, 1, bReset)
bReset=0 : Wrd_count=Wrd_count+1
'Wait 0, 200
Loop
End If

accapp.CloseAllDocs()
accapp.Exit()
msgbox "The word 'Invoice#' was found " & Wrd_count & "times"
Set accap=nothing : Set accapp=nothing

하지만 예상대로 작동하지 않는 것 같다고 조언하겠습니다. 이 사이트에서 가져왔습니다.

http://www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Script/Q_26834618.html

관련 정보