Esempio n. 1
0
 public PublisherObject()
 {
     using (new WsActivationContext())
     {
         m_realImpl = new CDocumentPublisherClass();
     }
 }
Esempio n. 2
0
		private void PublishWithWord(IDocumentPublisher6 publisher, string sourceFilename, string destinationFilename)
		{
			if (null == publisher)
				return;

			OfficeApplicationCache officeApplicationCache = OfficeApplicationCache.Instance;
			Word._Application wordApplication = officeApplicationCache.GetHostApplication(FileType.WordDocument) as Word._Application;
			if (wordApplication == null)
			{
				return;
			}

			bool wasVisible = wordApplication.Visible;
			try
			{
				object document = officeApplicationCache.OpenDocument(sourceFilename, false, FileType.WordDocument);
				WordFieldsUnlinker unlinker = new WordFieldsUnlinker(document);
				unlinker.UnlinkFilenameFields();

				publisher.ReconstructHyperLinks = (bool) m_actionPropertySet[PdfActionStringTable.ReconstructHyperLinks].Value;
				publisher.PublishActiveWordDocument(destinationFilename, document, null, 0);
				officeApplicationCache.CloseDocument(document, true);	// true parameter (savechanges): previously false, but in some situations word still asks to save.
				// see VE3155, but basically where old style headers (as per our redline), and with word open, and there is a DMS. (Incomprehensible perfect storm!)
			}
			finally
			{
				wordApplication.Visible = wasVisible;
			}
		}
Esempio n. 3
0
		private void Publish(IDocumentPublisher6 publisher, string sourceFilename, string destinationFilename)
		{
			if (null == publisher)
				return;

			OfficeApplicationCache officeApplicationCache = OfficeApplicationCache.Instance;
			FileType fileType = OfficeApplicationCache.GetFileTypeBasedOnFilename(sourceFilename, true);

			switch (fileType)
			{
			case FileType.WordDocument:
			case FileType.WordDocumentX:
			case FileType.WordDocumentMacroX:
			case FileType.WordDocumentTemplateX:
			case FileType.WordDocumentMacroTemplateX:
				PublishWithWord(publisher, sourceFilename, destinationFilename);
				break;

			case FileType.ExcelSheet:
			case FileType.ExcelSheetX:
			case FileType.ExcelSheetMacroX:
			case FileType.ExcelSheetTemplateX:
			case FileType.ExcelSheetMacroTemplateX:
				PublishWithExcel(publisher, sourceFilename, destinationFilename);
				break;

			case FileType.PowerPoint:
			case FileType.PowerPointX:
			case FileType.PowerPointMacroX:
			case FileType.PowerPointTemplateX:
			case FileType.PowerPointMacroTemplateX:
			case FileType.PowerPointShowX:
			case FileType.PowerPointMacroShowX:
				PublishWithPowerPoint(publisher, sourceFilename, destinationFilename);
				break;

			default:
				return;
			}
		}
Esempio n. 4
0
 public void Dispose()
 {
     Marshal.ReleaseComObject(m_realImpl);
     m_realImpl = null;
 }