我們正在將幾個舊的Access數據庫升級/轉換爲MS-SQL。這些數據庫中的很多都具有存儲PDF文件的OLE對象字段。我正在尋找一種方法來提取這些文件並將它們存儲在我們的SQL數據庫中。我已經看到類似的問題,回答你可能如何使用圖像文件(jpg,bmp,gif等)來做到這一點,但我還沒有找到適用於PDF的方法。從Access數據庫中提取OLE對象(pdf)
5
A
回答
4
我終於得到了一些代碼,爲我想要它做的事情工作。訣竅是確定哪些部分是OLE頭並將其刪除。這裏是爲我工作(基於代碼中發現here)
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;
}
請注意,這僅適用於PDF文件。
1
OLEtoDisk
「這個版本來保存包含OLE對象到磁盤表的全部內容。不要求擔任OLE服務器插入對象的原始應用程序支持所有MS Office文檔,PDF,所有由MS Photo Editor,MS Paint和Paint Shop Pro插入的圖像也支持提取PACKAGE類,包括原始文件名,包含生成包括LINKED路徑和文件名在內的OLE字段的完整庫存的功能,使用結構化存儲API讀取實際內容「
相關問題
- 1. MS Access中提取Word OLE對象
- 2. 如何從MS-Access中提取OLE對象的圖像?
- 3. 從Access DB中提取OLE對象(word文檔)
- 4. 從MS Access中提取OLE對象(Word文檔)
- 5. 使用SQL VB.net從Access數據庫中刪除OLE對象數據
- 6. 如何從DOORS中提取OLE對象
- 7. 從Ole Access數據庫中的MS ACCESS中讀取特殊名稱的屬性
- 8. 從數據對象中提取數據
- 9. 從pdf中提取數據
- 10. 從PDF中提取數據
- 11. 從數組對象中提取數據
- 12. 從OLE對象鏈接獲取路徑MS Access 2007
- 13. 在axAcroPdf中顯示OLE對象(pdf)
- 14. 如何從對象中提取數據?
- 15. 從DateTime對象中提取數據
- 16. 從匹配對象中提取數據
- 17. 從json對象中提取數據?
- 18. 從json對象中提取數據
- 19. 從對象中提取數據
- 20. 從MySQL數據庫中提取一個不重要的對象
- 21. 無法從數據庫中提取對象更新的屬性
- 22. 在Symfony 2.7.3中從數據庫提取對象
- 23. VB從Access數據庫中提取平均值
- 24. c#從pdf文件中提取數據
- 25. 爲Northwind Access數據庫訂購對象
- 26. Zend框架Access數據庫表對象
- 27. 從OLE結構化數據提取數據
- 28. 從hdd ole二進制文件提取對象
- 29. 如何從此對象提取數據?
- 30. 無法從beautiful_soup對象提取數據
我見過(並嘗試過)。它的工作,以拉出PDF文件,但我試圖找到我可以集成到我自己的(C#)代碼的東西。其中一些Access數據庫有4列以上存儲PDF文件,最終,我只想將文件複製到我們的SQL服務器上的所有其他數據表中。 – Nate 2009-06-23 12:56:46
啊,你從來沒有說過你在尋找C#代碼。 – 2009-06-23 19:32:35