이전의 여러 Access 데이터베이스를 MS-SQL로 업그레이드/변환하고 있습니다. 이러한 데이터베이스 중 대부분에는 PDF 파일을 저장하는 OLE 개체 필드가 있습니다. 이러한 파일을 추출하여 SQL 데이터베이스에 저장하는 방법을 찾고 있습니다. 이미지 파일 (jpg, bmp, gif 등)을 사용하여이 작업을 수행하는 방법에 대한 답변이 비슷한 질문을 보았지만 PDF로 작동하는 방법을 찾지 못했습니다.Access 데이터베이스에서 OLE 개체 (pdf) 추출
답변
마침내 제가하고 싶은 일을위한 코드가 생겼습니다. 트릭은 OLE 헤더가 무엇인지 결정하고 제거하는 것입니다. 여기에 나를 위해 무엇을 노력하고있다
public static byte[] StripOleHeader(byte[] fileData)
{
const string START_BLOCK = "%PDF-1.3";
int startPos = -1;
Encoding u8 = Encoding.UTF7;
string strEncoding = u8.GetString(fileData);
if (strEncoding.IndexOf(START_BLOCK) != -1)
{
startPos = strEncoding.IndexOf(START_BLOCK);
}
if (startPos == -1)
{
throw new Exception("Could not find PDF Header");
}
byte[] retByte = new byte[fileData.LongLength - startPos];
Array.Copy(fileData, startPos, retByte, 0, fileData.LongLength - startPos);
return retByte;
}
주 (코드를 기반으로이 here 발견) PDF 파일이에서만 작동하는지.
OLEtoDisk
"이 버전은. 개체를 삽입하는 OLE 서버를 역임 원래 응용 프로그램을 필요로하지 않습니다. 디스크에 OLE 개체를 포함하는 테이블의 전체 내용을 저장하는 모든 MS 오피스 문서, PDF 지원, MS Photo Editor, MS Paint 및 Paint Shop Pro가 삽입 한 모든 이미지 원본 파일 이름을 포함하여 PACKAGE 클래스의 추출을 지원하며 LINKED 경로 및 파일 이름을 포함하여 OLE 필드의 전체 인벤토리를 생성하는 기능이 포함되어 있습니다. 필드의 실제 내용 "
나는 그것을 보았고 시도했다. 그것은 PDF를 꺼내기 위해 일하지만 나는 내 자신의 (C#) 코드에 통합 할 수있는 것을 찾으려고 노력하고있다. 이 Access DB 중 일부는 PDF 파일을 저장하는 4 개 이상의 열을 가지고 있으며 궁극적으로 파일을 다른 모든 데이터가있는 SQL 서버의 테이블에 복사하려고합니다. – Nate
아, 당신은 C# 코드를 찾고 있다고 말한 적이 없다. –
- 1. AxAcroPdf에서 OLE 객체 (pdf) 표시
- 2. OLE pdf 컨트롤
- 3. Access 2003 및 OLE 개체 데이터 형식에 관한 성능 문제
- 4. 양식을 사용하여 MS Access 데이터베이스에 PDF 저장
- 5. 데이터베이스에서 파일 추출
- 6. pdf 텍스트 추출
- 7. Access 2007의 PDF 미리보기?
- 8. TObjectList에서 개체 추출
- 9. Access 데이터베이스에서 GridView로 서식 적용
- 10. Access 데이터베이스에서 행과 열 검색
- 11. PDF 파일의 레이어를 HTML로 추출
- 12. OLE 개체를 사용하여 MS Access 보고서에 인쇄 된 Word 문서
- 13. MS Access OLE 개체 열의 이미지 파일 (C# 또는 VB.NET 사용)
- 14. Access 97 VB에서 개체 만들기
- 15. MS Access DB에서 소스 코드 추출
- 16. Access 데이터베이스에서 Access 쿼리를 통해 SQL Server로 가져올 때의 문제
- 17. 하나의 MS Access 데이터베이스에서 다른 MS Access 데이터베이스로 레코드를 복사합니까?
- 18. 여러 데이터베이스에서 NHibernate로 개체 채우기
- 19. 기존 데이터베이스에서 JDO 개체 생성
- 20. DataGrid에서 데이터베이스에서 하나씩 추출 된 행 표시
- 21. 전체 MS Access 데이터베이스에서 문자열 검색
- 22. entryTime과 exitTime의 차이점을 MS Access 데이터베이스에서 찾으십시오.
- 23. Outlook이 필요없는 MS Access 데이터베이스에서 이메일 보내기
- 24. MySQL 데이터베이스에서 MS Access 데이터 가져 오기
- 25. 손상된 Access 2002 데이터베이스에서 VBA 코드를 복구
- 26. PDF OCR을 사용한 텍스트 추출 접근법
- 27. Adobe PDF 패키지 파일을 프로그램 방식으로 추출
- 28. VBS의 사전 개체 Excel에서 데이터를 추출
- 29. C#에서 동작 감지 및 개체 추출?
- 30. Excel 파일에서 Microsoft Graph Chart 개체 추출
이전 답변이므로이 코드는 저에게 효과적이었습니다. "% PDF-1.3"을 "% PDF-1.7"로 업데이트하기 만하면 헤더를 올바르게 제거 할 수있었습니다. 이상하게도, "% PDF"를 검색하는 데 효과적이었습니다 ... – Arthurdent510