2011-08-06 3 views
0

일부 정보를 PDF에 추가해야 함 (트림 상자 비율, 실제로 미디어 상자 비율을 미디어 상자 및 트림 상자 비율로 대체), 지원하지 않습니다. 내 PDF 모터. 그래서 메모장 ++를 사용하여 PDF를 텍스트 파일로 열고 단순히 트림 상자 비율을 문자열로 저장하고 저장한다는 사실을 알았습니다. 이제 vb.net을 사용하여 자동으로 수행하려고합니다. 스트림 리더/라이터를 사용하면 PDF가 파괴되어 정보가 손실됩니다 (스트림 리더는 모든 NUL, SOH, STX 등을 읽지 않습니다). ReadAllBytes/WriteAllBytes를 사용하여 PDF를 읽으려고했는데 제대로 작동하지만 "Media Box ..."를 "Media Box ... Trim Box ..."로 바꾸는 방법을 모르겠습니다. IndexOf를 사용하려고하지만 전체 문자열이 아닌 단일 바이트 만 검색 할 수 있습니다. 나는 바이너리가 좋지 않을 것이고 아마도 문제 일 것이다. :-). 누구든지 그것을하는 더 나은 방법이 있거나 어떻게 내 문자열 "미디어 상자"바이너리 검색합니까?PDF의 내용을 "바이너리"로 바꾸고 저장 - vb.net

감사합니다.

/게오르그

답변

0

당신은 문자열

에서 찾을 수 http://msdn.microsoft.com/en-us/library/8460tsh1(v=VS.90).aspx#Y1420에서 (하위) 문자열을 보면, 문자열에서 PDF를 얻기 위해 성공과 나는 문자열로 바이트를 변환하려면이 옵션을 사용하는 경우 :

 Dim buf(ssd.SrcLength - 1) As Byte 
     EditRdFile = ReadFile(ssd.SrcFileIx) 
     EditRdFile.Seek(ssd.SrcStart - 1, SeekOrigin.Begin) 
     EditRdFile.Read(buf, 0, ssd.SrcLength) 
     If CurrEdtSession.IsUnicode Then 
      Dim enc As System.Text.Encoding = New System.Text.UnicodeEncoding(False, True, True) 
      value = enc.GetString(buf) 
     Else 
      value = System.Text.Encoding.Default.GetString(buf) 
     End If 

내 편집기에서 ansi 및 유니 코드 파일을 처리합니다.

관련 문제