Aracılığıyla paylaş


IRenderingExtension arabirimi uygulama

Işleme uzantısı sonuçları yerine gerçek veriler ile birleştirilir ve kullanışlı bir biçimde elde edilen verileri görüntüleyen bir rapor tanımı alır. Birleştirilmiş veri dönüştürme ve biçimlendirme yapılır uygulayan bir ortak dil çalışma zamanı (clr) sınıf kullanarak IRenderingExtension. Bu Görüntüleyici, yazıcı veya başka çıkış hedefi tarafından tüketilebilir bir çıkış biçimi nesne modeli dönüştürür.

IRenderingExtensionKodlu gereken üç yöntem vardır:

Aşağıdaki bölümlerde daha ayrıntılı bu yöntemleri tartışın.

Yöntem render

RenderYöntem, aşağıdaki nesneleri temsil eden bağımsız değişkenleri içeriyor:

  • reportİşlemek istediğiniz. Bu nesne, rapor özellikleri, veri ve düzen bilgilerini içerir. Rapor, rapor nesne model ağacı'nın köküdür.

  • ServerParametersİçeren rapor sunucusu parametrelerle dize dictionary nesnesi varsa.

  • deviceInfoAygıt ayarları içeren parametre. Daha fazla bilgi için, bkz. Uzantıları oluşturma için aygıt bilgileri ayarları geçirme.

  • clientCapabilitiesParametresi içeren bir NameValueCollectioniçin işleme istemci hakkında bilgi içeren dictionary nesnesi.

  • RenderPropertiesİşleme sonucu hakkında bilgi içeren.

  • createAndRegisterStreamİçine işlemek için bir akış almak için çağrılacak bir temsilci işlevdir.

deviceInfo parametresi

deviceInfoParametresi işleme parametrelerini içerir, parametreleri rapor değil. Bu işleme parametrelerini işleme uzantısı için iletilir. deviceInfoDeğerler haline dönüştürülür bir NameValueCollectionrapor sunucusu nesnesinin. İçindeki öğeleri deviceInfoparametresi duyarlı değerleri olarak kabul edilir. Oluşturma isteği url sonucu geldiyse erişim, url parametreleri formundaki rc:key=valueanahtar/değer çiftleri olarak dönüştürülür deviceInfodictionary nesnesindeki. Tarayıcı algılama kodu Ayrıca aşağıdaki öğeleri sağlar clientCapabilitiesSözlük: EcmaScriptVersion, JavaScript, MajorVersion, MinorVersion, Win32, türü ve AcceptLanguage. Herhangi bir ad/değer çifti deviceInfoişleme uzantısı tarafından anlaşılır değil parametre yoksayılır. Aşağıdaki kod örneği gösterir GetRenderingResourcesimgeler alır yöntemi:

public void GetRenderingResource (CreateStream createStreamCallback, NameValueCollection deviceInfo)
{
    string[] iconTagValues = deviceInfo.GetValues("Icon");
    if ((iconTagValues != null) && (iconTagValues.Length > 0) )
    {
        // Create a stream to output to.
        Stream outputStream = createStreamCallback(m_iconResourceName, "gif", null, "image/gif", false);
        // Get the GIF image for one of the buttons on the toolbar
        Image requiredImage = (Image) m_resourcemanager.GetObject(m_iconResourceName
        // Write the image to the output stream
        requiredImage.Save(outputStream, requiredImage.RawFormat);
    }
    return;
}
public void GetRenderingResource (CreateStream createStreamCallback, NameValueCollection deviceInfo)
{
    string[] iconTagValues = deviceInfo.GetValues("Icon");
    if ((iconTagValues != null) && (iconTagValues.Length > 0) )
    {
        // Create a stream to output to.
        Stream outputStream = createStreamCallback(m_iconResourceName, "gif", null, "image/gif", false);
        // Get the GIF image for one of the buttons on the toolbar
        Image requiredImage = (Image) m_resourcemanager.GetObject(m_iconResourceName
        // Write the image to the output stream
        requiredImage.Save(outputStream, requiredImage.RawFormat);
    }
    return;
}

RenderStream yöntemi

RenderStreamYöntemi, raporu belirli akışından işler. Tüm akışlar ilk oluşturulan RenderArama, ancak akarsu geri istemciye ilk. Bu yöntem, resimleri html işleme veya görüntü/emf gibi bir çok sayfalı işleme uzantısı ek sayfalar gibi ikincil akışlar için kullanılır.

GetRenderingResource yöntemi

GetRenderingResourceYöntemi, tüm bir işleme rapor yürütme olmadan bilgi alır. Var kere ne zaman rapor rapor kendisini işlenmesine gerektirmeyen bilgi gerektirir. Örneğin, işleme uzantısı ile ilişkili simgeyi gerekirse kullanmak deviceInfotek etiketi içeren <simgesi>. Bu durumda, sen-ebilmek kullanma GetRenderingResourceyöntemi.

Ayrıca bkz.

Kavramlar

Işleme uzantısı uygulama

İşleme uzantıları Özet